One of the last moment mods of the original make rework

CL (http://codereview.chromium.org/2845001) resulted in broken
dependencies.

This CL completes the modification (the trick is to ensure
that the default target is always the first).

Note that the tests subdirectory Makefile still does not
properly follow the dependencies, it will have to be
addressed in a separate CL.

Tested by touching different .h and .c files and observing the results.

Review URL: http://codereview.chromium.org/2819004
This commit is contained in:
vbendeb
2010-06-16 12:49:31 -07:00
parent d471f2a839
commit 2a0155663e
5 changed files with 12 additions and 5 deletions

View File

@@ -22,9 +22,9 @@ ALL_SRCS = \
cmd_boot.c \
cgpt_common.c
include ../common.mk
main: $(PROGNAME)
all: $(PROGNAME)
include ../common.mk
$(PROGNAME): $(ALL_OBJS) $(LIBS)
$(CC) -o $(PROGNAME) $(CFLAGS) $^ $(LDFLAGS)

View File

@@ -5,6 +5,15 @@
ALL_OBJS = $(ALL_SRCS:%.c=${BUILD_ROOT}/%.o)
ALL_DEPS = $(ALL_OBJS:%.o=%.o.d)
#
# For this target (all) to be built by default, the including file must not
# define any other targets above the line including this file.
#
# This all: rule must be above the %.o: %.c rule below, otherwise the
# rule below becomes the default target.
#
all: ${ALL_OBJS}
${BUILD_ROOT}/%.o : %.c
$(CC) $(CFLAGS) $(INCLUDES) -MMD -MF $@.d -c -o $@ $<

View File

@@ -14,4 +14,3 @@ ALL_SRCS = file_keys.c signature_digest.c
include ../common.mk
all: $(ALL_OBJS)

View File

@@ -82,4 +82,4 @@ install: $(TARGET_BINS)
cp -f $(TARGET_BINS) $(DESTDIR)
chmod a+rx $(patsubst %,$(DESTDIR)/%,$(TARGET_NAMES))
-include ALL_DEPS
-include ${ALL_DEPS}

View File

@@ -15,4 +15,3 @@ ALL_SRCS = kernel_image.c
include ../common.mk
all: $(ALL_OBJS)