]> git.itanic.dy.fi Git - scan-pagemap/blobdiff - Makefile
Show full process argument list instead only executable name
[scan-pagemap] / Makefile
index 2311e352e6436e19719e54cfc7a93f4dba2798eb..d8d058421e433f2a9fff9bb1b108d4a8603d389d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,40 +1,57 @@
 CFLAGS= -Wall -O2 -g
 
-CC=gcc
+CC=$(CROSS_COMPILE)gcc
 SPARSE=sparse
 CHECKPATCH=/usr/src/linux/scripts/checkpatch.pl
 
-SCAN_PAGEMAP_OBJS=main.o parse.o bintree.o analyze.o
+SCAN_PAGEMAP_OBJS=main.o parse.o treeops.o analyze.o pidlib.o rbtree.o
 SCAN_PAGEMAP_DEBUG_OBJS= $(patsubst %.o,%-debug.o,$(SCAN_PAGEMAP_OBJS))
+ALL_OBJS = $(SCAN_PAGEMAP_OBJS) $(SCAN_PAGEMAP_DEBUG_OBJS)
+ALL_DEBS = $(patsubst %.o,.%.o.d,$(ALL_OBJS))
+
+ifeq ($(V),1)
+       Q               =
+       QUIET_CC        =
+       QUIET_LINK      =
+else
+       Q               = @
+       QUIET_CC        = @echo "       CC " $@;
+       QUIET_LINK      = @echo "     LINK " $@;
+endif
 
 scan-pagemap: $(SCAN_PAGEMAP_OBJS)
-       gcc -o $@ $(SCAN_PAGEMAP_OBJS)
+       $(QUIET_LINK)$(CC) $(CFLAGS) -o $@ $(SCAN_PAGEMAP_OBJS)
 
 debug-pagemap: $(SCAN_PAGEMAP_DEBUG_OBJS)
-       gcc -o $@ $(SCAN_PAGEMAP_DEBUG_OBJS) -DDEBUG -O0
+       $(QUIET_LINK)$(CC) $(CFLAGS) -o $@ $(SCAN_PAGEMAP_DEBUG_OBJS) -DDEBUG -O0
 
 .c.o:
-       @echo -e "\tCC\t" $@
-       @$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@
+       $(QUIET_CC)$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@
 ifeq ($(C),1)
        sparse $(CFLAGS) $<
 endif
 ifeq ($(C),2)
        $(CHECKPATCH) -f $<
 endif
+       $(Q)cp .$@.d .$@.P; \
+            sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+                -e '/^$$/ d' -e 's/$$/ :/' < .$@.d >> .$@.P; \
+            mv .$@.P .$@.d
 
 %-debug.o: %.c
-       @echo -e "\tCC\t" $@
-       @$(CC) -MMD -MF .$@.d $(CFLAGS) -DDEBUG -O0 -c $< -o $@
+       $(QUIET_CC)$(CC) -MMD -MF .$@.d $(CFLAGS) -DDEBUG -O0 -c $< -o $@
+       $(Q)cp .$@.d .$@.P; \
+            sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+                -e '/^$$/ d' -e 's/$$/ :/' < .$@.d >> .$@.P; \
+            mv .$@.P .$@.d
 
 TAGS:
        @echo -e "\tTAGS\t"
        @etags *.[ch]
 
 clean:
-       rm -rfv $(SCAN_PAGEMAP_OBJS) $(SCAN_PAGEMAP_DEBUG_OBJS) \
-               *~ scan-pagemap TAGS .*.d debug-pagemap
+       rm -rfv $(ALL_OBJS) *~ scan-pagemap TAGS $(ALL_DEBS) debug-pagemap
 
 .PHONY: all clean TAGS
 
--include .*.d
+-include $(ALL_DEBS)