CFLAGS= -Wall -O2 -g CC=gcc SPARSE=sparse CHECKPATCH=/usr/src/linux/scripts/checkpatch.pl SCAN_PAGEMAP_OBJS=main.o parse.o bintree.o analyze.o pidlib.o SCAN_PAGEMAP_DEBUG_OBJS= $(patsubst %.o,%-debug.o,$(SCAN_PAGEMAP_OBJS)) scan-pagemap: $(SCAN_PAGEMAP_OBJS) gcc $(CFLAGS) -o $@ $(SCAN_PAGEMAP_OBJS) debug-pagemap: $(SCAN_PAGEMAP_DEBUG_OBJS) gcc $(CFLAGS) -o $@ $(SCAN_PAGEMAP_DEBUG_OBJS) -DDEBUG -O0 .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) -DDEBUG -O0 -c $< -o $@ TAGS: @echo -e "\tTAGS\t" @etags *.[ch] clean: rm -rfv $(SCAN_PAGEMAP_OBJS) $(SCAN_PAGEMAP_DEBUG_OBJS) \ *~ scan-pagemap TAGS .*.d debug-pagemap .PHONY: all clean TAGS -include .*.d