Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #9 from monich/order-only-prereq
Build directories are better described as order-only prerequisites
  • Loading branch information
Slava Monich committed Mar 24, 2014
2 parents d19ebd7 + fda7027 commit d83579a
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 34 deletions.
15 changes: 7 additions & 8 deletions mms-dump/Makefile
Expand Up @@ -52,8 +52,6 @@ endif

DEBUG_CFLAGS = $(WARNINGS) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(CFLAGS)
RELEASE_CFLAGS = $(WARNINGS) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CFLAGS)
DEBUG_LIBS = $(LIBS)
RELEASE_LIBS = $(LIBS)

#
# Files
Expand All @@ -66,15 +64,16 @@ RELEASE_OBJS = $(SRC:%.c=$(RELEASE_BUILD_DIR)/%.o)
# Dependencies
#

DEBUG_EXE_DEPS = $(DEBUG_BUILD_DIR)
RELEASE_EXE_DEPS = $(RELEASE_BUILD_DIR)
DEPS = $(DEBUG_OBJS:%.o=%.d) $(RELEASE_OBJS:%.o=%.d)
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(DEPS)),)
-include $(DEPS)
endif
endif

$(DEBUG_OBJS): | $(DEBUG_BUILD_DIR)
$(RELEASE_OBJS): | $(RELEASE_BUILD_DIR)

#
# Rules
#
Expand Down Expand Up @@ -102,11 +101,11 @@ $(DEBUG_BUILD_DIR)/%.o : $(SRC_DIR)/%.c
$(RELEASE_BUILD_DIR)/%.o : $(SRC_DIR)/%.c
$(CC) -c $(RELEASE_CFLAGS) -MT"$@" -MF"$(@:%.o=%.d)" $< -o $@

$(DEBUG_EXE): $(DEBUG_EXE_DEPS) $(DEBUG_OBJS)
$(LD) $(DEBUG_FLAGS) $(DEBUG_OBJS) $(DEBUG_LIBS) -o $@
$(DEBUG_EXE): $(DEBUG_OBJS)
$(LD) $(DEBUG_FLAGS) $^ $(LIBS) -o $@

$(RELEASE_EXE): $(RELEASE_EXE_DEPS) $(RELEASE_OBJS)
$(LD) $(RELEASE_FLAGS) $(RELEASE_OBJS) $(RELEASE_LIBS) -o $@
$(RELEASE_EXE): $(RELEASE_OBJS)
$(LD) $(RELEASE_FLAGS) $^ $(LIBS) -o $@
ifeq ($(KEEP_SYMBOLS),0)
strip $@
endif
14 changes: 8 additions & 6 deletions mms-engine/Makefile
Expand Up @@ -115,14 +115,14 @@ RELEASE_LIBS = \
# Files
#

.PRECIOUS: $(GEN_SRC:%=$(GEN_DIR)/%)

DEBUG_OBJS = \
$(GEN_SRC:%.c=$(DEBUG_BUILD_DIR)/%.o) \
$(SRC:%.c=$(DEBUG_BUILD_DIR)/%.o)
RELEASE_OBJS = \
$(GEN_SRC:%.c=$(RELEASE_BUILD_DIR)/%.o) \
$(SRC:%.c=$(RELEASE_BUILD_DIR)/%.o)
GEN_FILES = $(GEN_SRC:%=$(GEN_DIR)/%)
.PRECIOUS: $(GEN_FILES)

#
# Dependencies
Expand All @@ -139,20 +139,22 @@ RELEASE_DEPS = \
DEBUG_EXE_DEPS = \
$(MMS_LIB_DEBUG_LIB) \
$(MMS_OFONO_DEBUG_LIB) \
$(MMS_HANDLER_DEBUG_LIB) \
$(DEBUG_BUILD_DIR)
$(MMS_HANDLER_DEBUG_LIB)
RELEASE_EXE_DEPS = \
$(MMS_LIB_RELEASE_LIB) \
$(MMS_OFONO_RELEASE_LIB) \
$(MMS_HANDLER_RELEASE_LIB) \
$(RELEASE_BUILD_DIR)
$(MMS_HANDLER_RELEASE_LIB)
DEPS = $(DEBUG_OBJS:%.o=%.d) $(RELEASE_OBJS:%.o=%.d)
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(DEPS)),)
-include $(DEPS)
endif
endif

$(GEN_FILES): | $(GEN_DIR)
$(DEBUG_OBJS): | $(DEBUG_BUILD_DIR)
$(RELEASE_OBJS): | $(RELEASE_BUILD_DIR)

#
# Rules
#
Expand Down
11 changes: 7 additions & 4 deletions mms-lib/Makefile
Expand Up @@ -110,6 +110,9 @@ ifneq ($(strip $(DEPS)),)
endif
endif

$(DEBUG_OBJS): | $(DEBUG_BUILD_DIR)
$(RELEASE_OBJS): | $(RELEASE_BUILD_DIR)

#
# Rules
#
Expand All @@ -130,11 +133,11 @@ $(DEBUG_BUILD_DIR):
$(RELEASE_BUILD_DIR):
mkdir -p $@

$(DEBUG_LIB): $(DEBUG_BUILD_DIR) $(DEBUG_OBJS)
$(AR) $(ARFLAGS) $@ $(DEBUG_OBJS)
$(DEBUG_LIB): $(DEBUG_OBJS)
$(AR) $(ARFLAGS) $@ $^

$(RELEASE_LIB): $(RELEASE_BUILD_DIR) $(RELEASE_OBJS)
$(AR) $(ARFLAGS) $@ $(RELEASE_OBJS)
$(RELEASE_LIB): $(RELEASE_OBJS)
$(AR) $(ARFLAGS) $@ $^

$(DEBUG_BUILD_DIR)/%.o : $(SRC_DIR)/%.c
$(CC) -c $(DEBUG_CFLAGS) -MT"$@" -MF"$(@:%.o=%.d)" $< -o $@
Expand Down
16 changes: 10 additions & 6 deletions mms-ofono/Makefile
Expand Up @@ -72,14 +72,14 @@ RELEASE_CFLAGS = $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CFLAGS)
# Files
#

.PRECIOUS: $(GEN_SRC:%=$(GEN_DIR)/%)

DEBUG_OBJS = \
$(GEN_SRC:%.c=$(DEBUG_BUILD_DIR)/%.o) \
$(SRC:%.c=$(DEBUG_BUILD_DIR)/%.o)
RELEASE_OBJS = \
$(GEN_SRC:%.c=$(RELEASE_BUILD_DIR)/%.o) \
$(SRC:%.c=$(RELEASE_BUILD_DIR)/%.o)
GEN_FILES = $(GEN_SRC:%=$(GEN_DIR)/%)
.PRECIOUS: $(GEN_FILES)

#
# Dependencies
Expand All @@ -92,6 +92,10 @@ ifneq ($(strip $(DEPS)),)
endif
endif

$(GEN_FILES): | $(GEN_DIR)
$(DEBUG_OBJS): | $(DEBUG_BUILD_DIR)
$(RELEASE_OBJS): | $(RELEASE_BUILD_DIR)

#
# Rules
#
Expand Down Expand Up @@ -130,8 +134,8 @@ $(DEBUG_BUILD_DIR)/%.o : $(GEN_DIR)/%.c
$(RELEASE_BUILD_DIR)/%.o : $(GEN_DIR)/%.c
$(CC) -c $(RELEASE_CFLAGS) -MT"$@" -MF"$(@:%.o=%.d)" $< -o $@

$(DEBUG_LIB): $(DEBUG_BUILD_DIR) $(DEBUG_OBJS)
$(AR) $(ARFLAGS) $@ $(DEBUG_OBJS)
$(DEBUG_LIB): $(DEBUG_OBJS)
$(AR) $(ARFLAGS) $@ $^

$(RELEASE_LIB): $(RELEASE_BUILD_DIR) $(RELEASE_OBJS)
$(AR) $(ARFLAGS) $@ $(RELEASE_OBJS)
$(RELEASE_LIB): $(RELEASE_OBJS)
$(AR) $(ARFLAGS) $@ $^
23 changes: 13 additions & 10 deletions mms-send/Makefile
Expand Up @@ -54,35 +54,35 @@ endif

DEBUG_CFLAGS = $(DEBUG_FLAGS) $(DEBUG_DEFS) $(CFLAGS)
RELEASE_CFLAGS = $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CFLAGS)
DEBUG_LIBS = $(LIBS)
RELEASE_LIBS = $(LIBS)

#
# Files
#

.PRECIOUS: $(GEN_SRC:%=$(GEN_DIR)/%)

DEBUG_OBJS = \
$(GEN_SRC:%.c=$(DEBUG_BUILD_DIR)/%.o) \
$(SRC:%.c=$(DEBUG_BUILD_DIR)/%.o)
RELEASE_OBJS = \
$(GEN_SRC:%.c=$(RELEASE_BUILD_DIR)/%.o) \
$(SRC:%.c=$(RELEASE_BUILD_DIR)/%.o)
GEN_FILES = $(GEN_SRC:%=$(GEN_DIR)/%)
.PRECIOUS: $(GEN_FILES)

#
# Dependencies
#

DEBUG_EXE_DEPS = $(DEBUG_BUILD_DIR)
RELEASE_EXE_DEPS = $(RELEASE_BUILD_DIR)
DEPS = $(DEBUG_OBJS:%.o=%.d) $(RELEASE_OBJS:%.o=%.d)
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(DEPS)),)
-include $(DEPS)
endif
endif

$(GEN_FILES): | $(GEN_DIR)
$(DEBUG_OBJS): | $(DEBUG_BUILD_DIR)
$(RELEASE_OBJS): | $(RELEASE_BUILD_DIR)

#
# Rules
#
Expand All @@ -98,6 +98,9 @@ release: $(RELEASE_EXE)
clean:
rm -fr $(BUILD_DIR) $(SRC_DIR)/*~

$(GEN_DIR):
mkdir -p $@

$(DEBUG_BUILD_DIR):
mkdir -p $@

Expand All @@ -119,11 +122,11 @@ $(DEBUG_BUILD_DIR)/%.o : $(GEN_DIR)/%.c
$(RELEASE_BUILD_DIR)/%.o : $(GEN_DIR)/%.c
$(CC) -c $(RELEASE_CFLAGS) -MT"$@" -MF"$(@:%.o=%.d)" $< -o $@

$(DEBUG_EXE): $(DEBUG_EXE_DEPS) $(DEBUG_OBJS)
$(LD) $(DEBUG_FLAGS) $(DEBUG_OBJS) $(DEBUG_LIBS) -o $@
$(DEBUG_EXE): $(DEBUG_OBJS)
$(LD) $(DEBUG_FLAGS) $^ $(LIBS) -o $@

$(RELEASE_EXE): $(RELEASE_EXE_DEPS) $(RELEASE_OBJS)
$(LD) $(RELEASE_FLAGS) $(RELEASE_OBJS) $(RELEASE_LIBS) -o $@
$(RELEASE_EXE): $(RELEASE_OBJS)
$(LD) $(RELEASE_FLAGS) $^ $(LIBS) -o $@
ifeq ($(KEEP_SYMBOLS),0)
strip $@
endif

0 comments on commit d83579a

Please sign in to comment.