Skip to content

Commit 4288ab0

Browse files
committed
Removed Makefile.d. Dependencies are now automatically generated at the build stage.
1 parent 832940d commit 4288ab0

File tree

4 files changed

+20
-52
lines changed

4 files changed

+20
-52
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

@@ -109,7 +109,6 @@ help:
109109
echo " all Build all binaries"
110110
echo " clean Clean all build files and configuration file"
111111
echo " config Configure build"
112-
echo " depend Update build dependencies for current project"
113112
echo " distsrc Make tarball with source code for packagers"
114113
echo " fetch Fetch all desired source code dependencies from git"
115114
echo " help Print this help message"

src/Makefile

Lines changed: 17 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,19 @@ CXX_OBJ_TEST = $(patsubst %.cpp, $(ARTIFACT_BIN)/%.o, $(CXX_SRC_TEST)
7878
CXX_OBJ_NOTEST = $(patsubst %.cpp, $(ARTIFACT_BIN)/%.o, $(CXX_SRC_NOTEST))
7979
CXX_OBJ_EXT = $(patsubst %.cpp, $(ARTIFACT_BIN)/%.o, $(CXX_SRC_EXT))
8080
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)
8187

8288
ALL_HEADERS = $(call rwildcard, $(ARTIFACT_INC), *.h)
8389
CXX_FILE = $(patsubst $(ARTIFACT_BIN)/%.o,%.cpp, $(@))
8490
CXX_HDR_PATHS = $(foreach hdr,$(ARTIFACT_HEADERS),$(ARTIFACT_INC)/$(hdr))
8591
CXX_HEADERS = $(foreach path,$(CXX_HDR_PATHS),$(call rwildcard, $(path), *.h))
8692
CXX_INSTHEADERS = $(patsubst $(ARTIFACT_INC)/%,$(DESTDIR)$(INCDIR)/%,$(CXX_HEADERS))
87-
CXX_INSTALL_HEADERS =
88-
89-
ifeq ($(HEADERS),1)
90-
CXX_INSTALL_HEADERS = 1
91-
endif
93+
DEP_FILE = $(patsubst %.o,%.d, $(@))
9294

9395
BUILD_ALL = $(ARTIFACT_LIB) $(ARTIFACT_SLIB) $(ARTIFACT_PC)
9496

@@ -101,44 +103,26 @@ DEP_CXX_FILE = $(patsubst $(ARTIFACT_BIN)/%.d,%.cpp,$(@))
101103
DEP_DEP_FILE = $(patsubst $(ARTIFACT_BIN)/%.d,%.o,$(@))
102104

103105
.DEFAULT_GOAL = all
104-
.PHONY: compile depend dep_clean all install uninstall
106+
.PHONY: compile all install uninstall
105107
.PHONY: $(ARTIFACT_DEPS)
106108

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

130114
# Compilation
131115
compile: $(ARTIFACT_OBJ)
132116

133-
$(CXX_OBJ_MAIN) $(CXX_OBJ_EXPORT) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST) $(CXX_OBJ_NOTEST):
117+
$(CXX_OBJ_ALL):
134118
echo " $($(HOST)CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
135119
mkdir -p $(dir $@)
136-
$($(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 $(@)
137121

138122
# Producing large object files
139123
$(ARTIFACT_OBJ): $(CXX_OBJ)
140124
@echo " $($(HOST)LD) [$(ARTIFACT_NAME)] $(notdir $(ARTIFACT_OBJ))"
141-
@$($(HOST)LD) -o $(ARTIFACT_OBJ) $($(HOST)LDFLAGS) $(CXX_OBJ)
125+
$($(HOST)LD) -o $(ARTIFACT_OBJ) $($(HOST)LDFLAGS) $(CXX_OBJ)
142126

143127
$(ARTIFACT_OBJ_TEST): $(CXX_OBJ_TEST)
144128
echo " $($(HOST)LD) [$(ARTIFACT_NAME)] $(notdir $(ARTIFACT_OBJ_TEST))"
@@ -176,13 +160,11 @@ $(ARTIFACT_PC):
176160
install: all
177161
echo "Installing $($(ARTIFACT_ID)_NAME)"
178162
mkdir -p "$(DESTDIR)$(LIBDIR)/pkgconfig"
179-
$(if $(CXX_INSTALL_HEADERS), mkdir -p "$(DESTDIR)$(INCDIR)")
180-
$(if $(CXX_INSTALL_HEADERS), cp -r "$(CXX_HDR_PATHS)" "$(DESTDIR)$(INCDIR)/")
163+
$(if $(filter $(INSTALL_HEADERS),1), mkdir -p "$(DESTDIR)$(INCDIR)")
164+
$(if $(filter $(INSTALL_HEADERS),1), cp -r "$(CXX_HDR_PATHS)" "$(DESTDIR)$(INCDIR)/")
181165
cp $(ARTIFACT_PC) "$(DESTDIR)$(LIBDIR)/pkgconfig/"
182-
echo $(INSTALL) $(ARTIFACT_LIB) -t "$(DESTDIR)$(LIBDIR)"
183-
$(INSTALL) $(ARTIFACT_LIB) -t "$(DESTDIR)$(LIBDIR)"
184-
echo cp $(ARTIFACT_SLIB) -t "$(DESTDIR)$(LIBDIR)"
185-
cp $(ARTIFACT_SLIB) -t "$(DESTDIR)$(LIBDIR)"
166+
$(INSTALL) $(ARTIFACT_LIB) "$(DESTDIR)$(LIBDIR)/"
167+
cp $(ARTIFACT_SLIB) "$(DESTDIR)$(LIBDIR)/"
186168
ln -sf $(notdir $(ARTIFACT_LIB)) "$(DESTDIR)$(LIBDIR)/$(ARTIFACT_LIBLINK)"
187169
ln -sf $(notdir $(ARTIFACT_SLIB)) "$(DESTDIR)$(LIBDIR)/$(ARTIFACT_SLIBLINK)"
188170
echo "Install OK"
@@ -198,4 +180,4 @@ uninstall:
198180
echo "Uninstall OK"
199181

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

src/Makefile.d

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

0 commit comments

Comments
 (0)