NAME = game SRC = game.c main.c VERSION = $(shell svnversion -c . | cut -d : -f 2) LDFLAGS += `${SDL_CONFIG} --libs` -lSDL_image -lSDL_mixer ifeq "$(target)" "win32" OBJS += game.coff BIN += $(NAME).exe CROSS += i586-mingw32msvc- CFLAGS += -Iwinlibs/include LDFLAGS += -Lwinlibs/lib LDFLAGS += -lmingw32 -lSDLmain -mwindows else BIN += $(NAME) CFLAGS += `${SDL_CONFIG} --cflags` endif OBJS += $(subst .c,.o, $(SRC)) LD := $(CC) STRIP := $(CROSS)strip WINDRES := $(CROSS)windres NSIS := makensis all: $(BIN) img/game.png img/help.png %.o: %.c $(CC) $(CFLAGS) -c $< %.coff: %.rc $(WINDRES) $< $@ $(BIN): $(OBJS) $(LD) -o $@ $(OBJS) $(LDFLAGS) .PHONY: Changelog Changelog: svn update svn log | perl -pe 's/\|.+//;' -e 's/^[\s-]+$$//;' -e 's/r(\d+) \n/$$1: /;' > Changelog clean: rm -f $(OBJS) $(BIN) core img.o *.exe *.coff rm -f img/game.png img/help.png rm -f Changelog img/game.png: img/game.svg inkscape --file $< \ --export-area-drawing \ --export-png=$@ img/help.png: img/help.svg inkscape --file $< \ --export-png=$@ mogrify -gravity south -fill white -annotate +0+0 "version $(VERSION)" $@ dist-win32: $(MAKE) clean $(MAKE) Changelog $(MAKE) target=win32 $(STRIP) $(NAME).exe $(NSIS) -V2 -DVERSION="$(VERSION)" -DNAME="$(NAME)" -DBIN="$(NAME).exe" -DDIST="/tmp/$(NAME)-win32-$(VERSION)-setup.exe" installer.nsi md5sum /tmp/$(NAME)-win32-$(VERSION)-setup.exe > /tmp/$(NAME)-win32-$(VERSION)-setup.exe.sum dist-linux: $(MAKE) clean $(MAKE) Changelog $(MAKE) $(STRIP) $(BIN) rm -f /tmp/game-linux.tgz cd .. && tar --exclude=.svn -zcf /tmp/game-linux-$(VERSION).tgz game/game game/wav game/mp3 game/img/*.png game/README.TXT game/Changelog md5sum /tmp/game-linux-$(VERSION).tgz > /tmp/game-linux-$(VERSION).tgz.sum dist-src: $(MAKE) clean $(MAKE) Changelog $(MAKE) img/game.png img/help.png rm -f /tmp/game-src.tgz cd .. && tar --exclude=.svn -zcf /tmp/game-src-$(VERSION).tgz game/*.c game/*.h game/Makefile game/img game/wav game/mp3 game/README.TXT game/Changelog md5sum /tmp/game-src-$(VERSION).tgz > /tmp/game-src-$(VERSION).tgz.sum dist: dist-win32 dist-linux dist-src Changelog rsync -P \ README.TXT \ Changelog \ /tmp/game-win32-$(VERSION)-setup.exe \ /tmp/game-linux-$(VERSION).tgz \ /tmp/game-src-$(VERSION).tgz \ /tmp/game-win32-$(VERSION)-setup.exe.sum \ /tmp/game-linux-$(VERSION).tgz.sum \ /tmp/game-src-$(VERSION).tgz.sum \ ico@pruts.nl:~/websites/www.zevv.nl/code/game