CC=gcc
LIBS   := $(shell sdl-config --libs) -lnetpbm
CFLAGS := -std=c99 -march=pentium4 -g -O3 $(shell sdl-config --cflags)
LFLAGS :=
default: 256 qix text term test test2

obj/draw.o :: CFLAGS += -funroll-loops

chardata.c: chars
	./chars > chardata.c

term: $(patsubst %, obj/%, chardata.o term.o draw.o)
	$(CC) $(LFLAGS) -o $@ $^ $(LIBS) -lrote

chars: $(patsubst %, obj/%, chars.o)
	$(CC) $(LFLAGS) -o $@ $^ $(LIBS)

text: $(patsubst %, obj/%, chardata.o text.o draw.o)
	$(CC) $(LFLAGS) -o $@ $^ $(LIBS)

test2: $(patsubst %, obj/%, draw.o test2.o)
	$(CC) $(LFLAGS) -o $@ $^ $(LIBS)

test: $(patsubst %, obj/%, draw.o test.o)
	$(CC) $(LFLAGS) -o $@ $^ $(LIBS)

qix: $(patsubst %, obj/%, draw.o qix.o)
	$(CC) $(LFLAGS) -o $@ $^ $(LIBS)

256: $(patsubst %, obj/%, 256.o)
	$(CC) $(LFLAGS) -o $@ $^ $(LIBS)

obj/%.o: %.c
	$(CC) $(CFLAGS) -o $@ -c $<

clean:
	rm -r obj; mkdir obj
