]> git.itanic.dy.fi Git - sdl-planets/blob - Makefile
quadtree: Only use the validator when debugging is enabled
[sdl-planets] / Makefile
1 SDL_CONFIG=$(shell sdl-config --cflags)
2 SDL_LIBS=$(shell sdl-config --libs)
3 CFLAGS=$(SDL_CONFIG) -Wall -O2 -g
4
5 LIBS=$(SDL_LIBS) -lm -lrt
6
7 CC=gcc
8 SPARSE=sparse
9 CHECKPATCH=/usr/src/linux/scripts/checkpatch.pl
10
11 PLANET_OBJS=main.o random.o vector.o planet.o camera.o
12 PLANET_DEBUG_OBJS= $(patsubst %.o,%-debug.o,$(PLANET_OBJS))
13
14 sdl-planet: $(PLANET_OBJS)
15         gcc $(LIBS) -o $@ $(PLANET_OBJS)
16
17 debug-planets: $(PLANET_DEBUG_OBJS)
18         gcc $(LIBS) -o $@ $(PLANET_DEBUG_OBJS) -DDEBUG
19
20 .c.o:
21         @echo -e "\tCC\t" $@
22         @$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@
23 ifeq ($(C),1)
24         sparse $(CFLAGS) $<
25 endif
26 ifeq ($(C),2)
27         $(CHECKPATCH) -f $<
28 endif
29
30 %-debug.o: %.c
31         @echo -e "\tCC\t" $@
32         @$(CC) -MMD -MF .$@.d $(CFLAGS) -O0 -c $< -o $@
33
34 TAGS:
35         @echo -e "\tTAGS\t"
36         @etags *.[ch]
37
38 clean:
39         rm -rfv $(PLANET_OBJS) $(PLANET_DEBUG_OBJS) *~ sdl-planet TAGS .*.d
40
41 .PHONY: all clean TAGS
42
43 -include .*.d