SDL_CONFIG=$(shell sdl-config --cflags) SDL_LIBS=$(shell sdl-config --libs) CFLAGS=$(SDL_CONFIG) -Wall -O2 -g LIBS=$(SDL_LIBS) -lm -lrt CC=gcc SPARSE=sparse CHECKPATCH=/usr/src/linux/scripts/checkpatch.pl PLANET_OBJS=main.o random.o vector.o planet.o camera.o quadtree.o PLANET_DEBUG_OBJS= $(patsubst %.o,%-debug.o,$(PLANET_OBJS)) sdl-planet: $(PLANET_OBJS) gcc $(LIBS) -o $@ $(PLANET_OBJS) debug-planet: $(PLANET_DEBUG_OBJS) gcc $(LIBS) -o $@ $(PLANET_DEBUG_OBJS) -DDEBUG .c.o: @echo -e "\tCC\t" $@ @$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@ ifeq ($(C),1) sparse $(CFLAGS) $< endif ifeq ($(C),2) $(CHECKPATCH) -f $< endif %-debug.o: %.c @echo -e "\tCC\t" $@ @$(CC) -MMD -MF .$@.d $(CFLAGS) -O0 -c $< -o $@ TAGS: @echo -e "\tTAGS\t" @etags *.[ch] clean: rm -rfv $(PLANET_OBJS) $(PLANET_DEBUG_OBJS) *~ sdl-planet TAGS .*.d \ debug-planet .PHONY: all clean TAGS -include .*.d