# Makefile for "black-smurfs" for VgaGames3

CFLAGS = -W -Wall -O2 -g
VGAG_CFLAGS = `vgagames3-config --cflags`
VGAG_LIBS = `vgagames3-config --libs`
VGAG_VERSION_MAIOR = `vgagames3-config --version-maior`
VGAG_VERSION_MINOR = `vgagames3-config --version-minor`

GAME = black-smurfs
HFILES = main.h menu_helper.h gameskel.h \
	obj-playfield.h obj-smurf.h obj-dirsel.h obj-mousesel.h \
	obj-dice.h obj-animation.h obj-music.h
OBJ = ofunc.o main.o menu_helper.o save.o gameskel.o \
	objmgmt-smurf.o \
	obj-playfield.o obj-smurf.o obj-dirsel.o obj-mousesel.o \
	obj-dice.o obj-animation.o obj-music.o \
	objobj-mousesel-smurf.o


# +++ compile and clean +++

all: version $(GAME)

version:
	@if test $(VGAG_VERSION_MAIOR) -ne 1 || test $(VGAG_VERSION_MINOR) -lt 4; then \
	  echo "*** VgaGames3 version 1.4 or higher is needed ***" >&2; \
	  exit 1; \
	fi

clean:
	rm -f $(GAME) $(OBJ)

$(GAME): $(OBJ)
	$(CC) $(OBJ) $(VGAG_LIBS) -o $(GAME)


# +++ object files ++++

ofunc.o: ofunc.c
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c ofunc.c

main.o: main.c ofunc.o $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c main.c

menu_helper.o: menu_helper.c menu_helper.h
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c menu_helper.c

save.o: save.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c save.c

gameskel.o: gameskel.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c gameskel.c

objmgmt-smurf.o: objmgmt-smurf.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objmgmt-smurf.c

obj-playfield.o: obj-playfield.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-playfield.c

obj-smurf.o: obj-smurf.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-smurf.c

obj-dirsel.o: obj-dirsel.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-dirsel.c

obj-mousesel.o: obj-mousesel.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-mousesel.c

obj-dice.o: obj-dice.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-dice.c

obj-animation.o: obj-animation.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-animation.c

obj-music.o: obj-music.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-music.c

objobj-mousesel-smurf.o: objobj-mousesel-smurf.c $(HFILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objobj-mousesel-smurf.c

