# Makefile for game "snakes" for VgaGames4

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

GAME = snakes
H_FILES = main.h objid.h objfn.h leveldata.h
OBJS = leveldata.o main.o objcoll.o settings.o gamelevel.o \
	obj-ground.o obj-wall.o obj-bottle.o obj-camhat.o \
	obj-isnake.o obj-esnake.o obj-shot.o objmgmt-esnake.o \
	objcoll-BOTTLE-ESNAKE.o objcoll-BOTTLE-ISNAKE.o \
	objcoll-CAMHAT-ESNAKE.o objcoll-CAMHAT-ISNAKE.o \
	objcoll-ESNAKE-WALL.o objcoll-ISNAKE-WALL.o objcoll-ISNAKE-ESNAKE.o \
	objcoll-SHOT-ESNAKE.o objcoll-SHOT-ISNAKE.o objcoll-SHOT-SHOT.o \
	objcoll-SHOT-WALL.o


all: version $(GAME)

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

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


$(GAME): $(OBJS)
	$(CC) $(CFLAGS) $(OBJS) $(VGAG_LIBS) -o $(GAME)

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

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

objcoll.o: objcoll.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll.c

settings.o: settings.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c settings.c 

gamelevel.o: gamelevel.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c gamelevel.c 

obj-ground.o: obj-ground.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-ground.c 

obj-wall.o: obj-wall.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-wall.c 

obj-bottle.o: obj-bottle.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-bottle.c 

obj-camhat.o: obj-camhat.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-camhat.c 

obj-isnake.o: obj-isnake.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-isnake.c 

obj-esnake.o: obj-esnake.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-esnake.c 

obj-shot.o: obj-shot.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c obj-shot.c 

objmgmt-esnake.o: objmgmt-esnake.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objmgmt-esnake.c 

objcoll-BOTTLE-ESNAKE.o: objcoll-BOTTLE-ESNAKE.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-BOTTLE-ESNAKE.c 

objcoll-BOTTLE-ISNAKE.o: objcoll-BOTTLE-ISNAKE.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-BOTTLE-ISNAKE.c 

objcoll-CAMHAT-ESNAKE.o: objcoll-CAMHAT-ESNAKE.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-CAMHAT-ESNAKE.c 

objcoll-CAMHAT-ISNAKE.o: objcoll-CAMHAT-ISNAKE.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-CAMHAT-ISNAKE.c 

objcoll-ESNAKE-WALL.o: objcoll-ESNAKE-WALL.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-ESNAKE-WALL.c 

objcoll-ISNAKE-WALL.o: objcoll-ISNAKE-WALL.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-ISNAKE-WALL.c 

objcoll-ISNAKE-ESNAKE.o: objcoll-ISNAKE-ESNAKE.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-ISNAKE-ESNAKE.c 

objcoll-SHOT-ESNAKE.o: objcoll-SHOT-ESNAKE.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-SHOT-ESNAKE.c 

objcoll-SHOT-ISNAKE.o: objcoll-SHOT-ISNAKE.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-SHOT-ISNAKE.c 

objcoll-SHOT-SHOT.o: objcoll-SHOT-SHOT.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-SHOT-SHOT.c 

objcoll-SHOT-WALL.o: objcoll-SHOT-WALL.c $(H_FILES)
	$(CC) $(CFLAGS) $(VGAG_CFLAGS) -c objcoll-SHOT-WALL.c 

