# Makefile for game "bomberboy" 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 = bomberboy
H_FILES = main.h objid.h objfn.h
OBJS = main.o objcoll.o settings.o gamelevel.o misc.o \
	obj-audio.o obj-player.o obj-bg.o obj-boundary.o obj-ohard.o \
	obj-osoft.o obj-hunter.o objmgmt-hunter.o obj-bomb.o obj-exit.o \
	obj-gd_dyn.o obj-gd_heart.o obj-gd_key.o obj-gd_keyhole.o \
	obj-gd_bombs.o obj-gd_pill.o obj-gd_portal.o obj-gd_gold.o \
	objcoll-PLAYER-obj1.o objcoll-BOMB-obj1.o objcoll-BOMB-obj2.o \
	objcoll-GD_DYN-obj1.o objcoll-GD_DYN-obj2.o objcoll-PLAYER-EXIT.o \
	objcoll-PLAYER-HUNTER.o objcoll-PLAYER-obj2.o objcoll-GD_PORTAL-obj1.o


all: version $(GAME)

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

