Proper dependency checking. Improved pretty printing.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
RRDD_OBJS= main.o process.o draw_graphs.o parser.o scheduler.o string.o \
debug.o
-rrdd: $(RRDD_OBJS)
- @echo -e "\tLD\t" rrdd
- @$(CC) -o rrdd $(RRDD_OBJS)
+ALL_OBJS = $(RRDD_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
all: rrdd
+rrdd: $(RRDD_OBJS)
+ $(QUITET_LINK)$(CC) -o rrdd $(RRDD_OBJS)
+
clean:
rm -vf rrdd *~ *.o .*.d
.c.o:
- @echo -e "\tCC\t" $@
- @$(CC) -MMD -MF .$@.d $(CFLAGS) -c $< -o $@
+ $(QUIET_CC)$(CC) -MMD -MF .$@.d $(CFLAGS) -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"
.PHONY: all clean TAGS
--include .*.d
-
+-include $(ALL_DEBS)