]> git.itanic.dy.fi Git - scan-pagemap/blob - Makefile
120970001fd69ce9961b753ea718b6dada0d9cca
[scan-pagemap] / Makefile
1 CFLAGS= -Wall -O2 -g
2
3 CC=gcc
4 SPARSE=sparse
5 CHECKPATCH=/usr/src/linux/scripts/checkpatch.pl
6
7 SCAN_PAGEMAP_OBJS=main.o parse.o treeops.o analyze.o pidlib.o rbtree.o
8 SCAN_PAGEMAP_DEBUG_OBJS= $(patsubst %.o,%-debug.o,$(SCAN_PAGEMAP_OBJS))
9 ALL_OBJS = $(SCAN_PAGEMAP_OBJS) $(SCAN_PAGEMAP_DEBUG_OBJS)
10 ALL_DEBS = $(patsubst %.o,.%.o.d,$(ALL_OBJS))
11
12 scan-pagemap: $(SCAN_PAGEMAP_OBJS)
13         gcc $(CFLAGS) -o $@ $(SCAN_PAGEMAP_OBJS)
14
15 debug-pagemap: $(SCAN_PAGEMAP_DEBUG_OBJS)
16         gcc $(CFLAGS) -o $@ $(SCAN_PAGEMAP_DEBUG_OBJS) -DDEBUG -O0
17
18 .c.o:
19         @echo -e "\tCC\t" $@
20         @$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@
21 ifeq ($(C),1)
22         sparse $(CFLAGS) $<
23 endif
24 ifeq ($(C),2)
25         $(CHECKPATCH) -f $<
26 endif
27
28 %-debug.o: %.c
29         @echo -e "\tCC\t" $@
30         @$(CC) -MMD -MF .$@.d $(CFLAGS) -DDEBUG -O0 -c $< -o $@
31
32 TAGS:
33         @echo -e "\tTAGS\t"
34         @etags *.[ch]
35
36 clean:
37         rm -rfv $(ALL_OBJS) *~ scan-pagemap TAGS $(ALL_DEBS) debug-pagemap
38
39 .PHONY: all clean TAGS
40
41 -include $(ALL_DEBS)