BASE_CFLAGS=-O2 DEBUG_CFLAGS=-g -Wall -DDEVELOPER ifndef CFLAGS CFLAGS=$(BASE_CFLAGS) endif default: @echo @echo "benmachine's chess board project" @echo @echo Targets: @echo " chess-ansi: should build on most systems" @echo " chess-allegro: requires Allegro (http://alleg.sourceforge.net)" @echo " chess-cairo: doesn't really work, requires Cairo (http://cairographics.org/)" @echo " all, clean: compile or remove all files" @echo all: chess-ansi chess-allegro chess-cairo debug: CFLAGS="$(BASE_CFLAGS) $(DEBUG_CFLAGS)" make all clean: rm -f chess-ansi chess-allegro chess-cairo rm -f output/* chess-ansi: output output/main.o output/cmds.o output/ui_ansi.o gcc -o chess-ansi output/main.o output/cmds.o output/ui_ansi.o $(CFLAGS) chess-allegro: output output/main_allegro.o output/cmds.o output/ui_allegro.o gcc -o chess-allegro output/main_allegro.o output/cmds.o output/ui_allegro.o `allegro-config --libs` $(CFLAGS) chess-cairo: output output/main.o output/cmds.o output/ui_cairo.o gcc -o chess-cairo output/main.o output/cmds.o output/ui_cairo.o `pkg-config cairo-xlib --libs` $(CFLAGS) output: [ ! -d output ] && mkdir output output/main.o: main.c chess.h gcc -c -o output/main.o main.c $(CFLAGS) output/cmds.o: cmds.c chess.h gcc -c -o output/cmds.o cmds.c $(CFLAGS) #output/main_cairo.o: main.c chess.h # gcc -g -Wall -c -DDEVELOPER -DCHESS_CAIRO -o output/main_cairo.o main.c `pkg-config cairo-xlib --cflags` output/main_allegro.o: main.c chess.h gcc -c -DCHESS_ALLEGRO -o output/main_allegro.o main.c $(CFLAGS) output/ui_ansi.o: ui_ansi.c chess.h gcc -c -o output/ui_ansi.o ui_ansi.c $(CFLAGS) output/ui_allegro.o: ui_allegro.c chess.h gcc -c -o output/ui_allegro.o ui_allegro.c $(CFLAGS) output/ui_cairo.o: ui_cairo.c chess.h gcc -c -o output/ui_cairo.o ui_cairo.c `pkg-config cairo-xlib --cflags` $(CFLAGS)