Skip to content

Commit c209b58

Browse files
committed
Removed Makefile.d. Dependencies are now automatically generated at the build stage
1 parent 3382e43 commit c209b58

File tree

4 files changed

+15
-46
lines changed

4 files changed

+15
-46
lines changed

CHANGELOG

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*******************************************************************************
44

55
=== 1.0.11 ===
6-
6+
* Removed Makefile.d. Dependencies are now automatically generated at the build stage.
77

88
=== 1.0.10 ===
99
* Updated module versions in dependencies.

Makefile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ DISTSRC_PATH = $(BUILDDIR)/distsrc
4646
DISTSRC = $(DISTSRC_PATH)/$(ARTIFACT_NAME)
4747

4848
.DEFAULT_GOAL := all
49-
.PHONY: all compile install uninstall depend clean
49+
.PHONY: all compile install uninstall clean
5050

51-
compile all install uninstall depend:
51+
compile all install uninstall:
5252
$(CHK_CONFIG)
5353
$(MAKE) -C "$(BASEDIR)/src" $(@) VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" DESTDIR="$(DESTDIR)"
5454

@@ -107,7 +107,6 @@ help:
107107
echo " all Build all binaries"
108108
echo " clean Clean all build files and configuration file"
109109
echo " config Configure build"
110-
echo " depend Update build dependencies for current project"
111110
echo " distsrc Make tarball with source code for packagers"
112111
echo " fetch Fetch all desired source code dependencies from git"
113112
echo " help Print this help message"

src/Makefile

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ endif
4444
ARTIFACT_NAME = $($(ARTIFACT_ID)_NAME)
4545
ARTIFACT_VERSION = $($(ARTIFACT_ID)_VERSION)
4646
ARTIFACT_DEPENDENCIES = $(addprefix $(HOST),$(DEPENDENCIES))
47-
ARTIFACT_DEP_LIST = $(addprefix $(HOST),$(call uniq, $(DEPENDENCIES) $(TEST_DEPENDENCIES) $(HOST)$(ARTIFACT_ID)))
4847

4948
ARTIFACT_BIN = $($(HOST)$(ARTIFACT_ID)_BIN)
5049
ARTIFACT_INC = $($(HOST)$(ARTIFACT_ID)_INC)
@@ -60,7 +59,6 @@ ARTIFACT_SLIBLINK = $(LIBRARY_PREFIX)$(ARTIFACT_NAME)$(STATICLIB_EXT)
6059
ARTIFACT_PC = $(ARTIFACT_BIN)/$(ARTIFACT_NAME)$(PKGCONFIG_EXT)
6160
ARTIFACT_DEPS = $(call dquery, OBJ, $(ARTIFACT_DEPENDENCIES))
6261
ARTIFACT_CFLAGS = $(call query, CFLAGS, $(ARTIFACT_DEPENDENCIES) $(HOST)$(ARTIFACT_ID))
63-
ARTIFACT_DEPFLAGS = $(call query, CFLAGS, $(ARTIFACT_DEP_LIST))
6462
ARTIFACT_LDFLAGS = $(call query, LDFLAGS, $(ARTIFACT_DEPENDENCIES) $(HOST)$(ARTIFACT_ID))
6563
ARTIFACT_OBJFILES = $(call query, OBJ, $(ARTIFACT_DEPENDENCIES) $(HOST)$(ARTIFACT_ID))
6664

@@ -80,12 +78,19 @@ CXX_OBJ_TEST = $(patsubst %.cpp, $(ARTIFACT_BIN)/%.o, $(CXX_SRC_TEST)
8078
CXX_OBJ_NOTEST = $(patsubst %.cpp, $(ARTIFACT_BIN)/%.o, $(CXX_SRC_NOTEST))
8179
CXX_OBJ_EXT = $(patsubst %.cpp, $(ARTIFACT_BIN)/%.o, $(CXX_SRC_EXT))
8280
CXX_OBJ = $(CXX_OBJ_MAIN) $(CXX_OBJ_EXT)
81+
CXX_OBJ_ALL = \
82+
$(CXX_OBJ_MAIN) \
83+
$(CXX_OBJ_EXPORT) \
84+
$(CXX_OBJ_EXT) \
85+
$(CXX_OBJ_TEST) \
86+
$(CXX_OBJ_NOTEST)
8387

8488
ALL_HEADERS = $(call rwildcard, $(ARTIFACT_INC), *.h)
8589
CXX_FILE = $(patsubst $(ARTIFACT_BIN)/%.o,%.cpp, $(@))
8690
CXX_HDR_PATHS = $(foreach hdr,$(ARTIFACT_HEADERS),$(ARTIFACT_INC)/$(hdr))
8791
CXX_HEADERS = $(foreach path,$(CXX_HDR_PATHS),$(call rwildcard, $(path), *.h))
8892
CXX_INSTHEADERS = $(patsubst $(ARTIFACT_INC)/%,$(DESTDIR)$(INCDIR)/%,$(CXX_HEADERS))
93+
DEP_FILE = $(patsubst %.o,%.d, $(@))
8994

9095
BUILD_ALL = $(ARTIFACT_LIB) $(ARTIFACT_SLIB) $(ARTIFACT_PC)
9196

@@ -98,41 +103,21 @@ DEP_CXX_FILE = $(patsubst $(ARTIFACT_BIN)/%.d,%.cpp,$(@))
98103
DEP_DEP_FILE = $(patsubst $(ARTIFACT_BIN)/%.d,%.o,$(@))
99104

100105
.DEFAULT_GOAL = all
101-
.PHONY: compile depend dep_clean all install uninstall
106+
.PHONY: compile all install uninstall
102107
.PHONY: $(ARTIFACT_DEPS)
103108

104-
# Dependencies
105-
dep_clean:
106-
107-
$(DEP_CXX): dep_clean
108-
echo " dep [$(ARTIFACT_NAME)] $(DEP_CXX_FILE)"
109-
mkdir -p $(dir $(@))
110-
$(CXX) -MM -MT "\$$($(ARTIFACT_ID)_BIN)/$(DEP_DEP_FILE)" -MF $(@) $(DEP_CXX_FILE) $(CXXFLAGS) $(INCLUDE) $(ARTIFACT_DEPFLAGS)
111-
112-
depend: $(DEP_CXX)
113-
$(foreach dep,$(ARTIFACT_DEP_LIST),\
114-
$(if $($(dep)_INC), \
115-
$(eval REPLACEMENT = $(shell echo "$($(dep)_INC)" | sed -E "s/\//\\\\\\\\\//g")) \
116-
$(eval SED_RULES += s/$(REPLACEMENT)/\$$$$\\($(dep)_INC\\)/g;)\
117-
)\
118-
$(if $($(dep)_BIN), \
119-
$(eval REPLACEMENT = $(shell echo "$($(dep)_BIN)" | sed -E "s/\//\\\\\\\\\//g")) \
120-
$(eval SED_RULES += s/$(REPLACEMENT)/\\$$$$\\($(dep)_BIN\\)/g;)\
121-
)\
122-
)
123-
cat $(DEP_CXX) | sed -E "$(SED_RULES)" >Makefile.d
124-
109+
# Compile dependencies
125110
$(ARTIFACT_DEPS):
126111
echo "make $(notdir $($(@)_OBJ))"
127112
$(MAKE) -C "$($(@)_PATH)" compile VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" DEMO_TEST="0" BUILD_HOST="$(BUILD_HOST)"
128113

129114
# Compilation
130115
compile: $(ARTIFACT_OBJ)
131116

132-
$(CXX_OBJ_MAIN) $(CXX_OBJ_EXPORT) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST) $(CXX_OBJ_NOTEST):
117+
$(CXX_OBJ_ALL):
133118
echo " $($(HOST)CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
134119
mkdir -p $(dir $@)
135-
$($(HOST)CXX) -o $(@) -c $(CXX_FILE) -fPIC $($(HOST)CXXFLAGS) $(ARTIFACT_MFLAGS) $($(HOST)EXT_FLAGS) $(INCLUDE) $(ARTIFACT_CFLAGS)
120+
$($(HOST)CXX) -o $(@) -c $(CXX_FILE) -fPIC $($(HOST)CXXFLAGS) $(ARTIFACT_MFLAGS) $($(HOST)EXT_FLAGS) $(INCLUDE) $(ARTIFACT_CFLAGS) -MMD -MP -MF $(DEP_FILE) -MT $(@)
136121

137122
# Producing large object files
138123
$(ARTIFACT_OBJ): $(CXX_OBJ)
@@ -195,4 +180,4 @@ uninstall:
195180
echo "Uninstall OK"
196181

197182
# Dependencies
198-
-include $(CURDIR)/Makefile.d
183+
-include $(foreach objfile,$(CXX_OBJ_ALL),$(patsubst %.o,%.d,$(objfile)))

src/Makefile.d

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)