Skip to content

Commit 7ae05a8

Browse files
committed
Removed Makefile.d. Dependencies are now automatically generated at the build stage
1 parent c179cdf commit 7ae05a8

File tree

8 files changed

+15
-35293
lines changed

8 files changed

+15
-35293
lines changed

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
=== 1.0.12 ===
66
* Added series of functions for processing 1-bit, 2-bit, 4-bit and 8-bit grayscale
77
bitmaps which can be useful for quick text rendering using glyph images.
8+
* Removed Makefile.d. Dependencies are now automatically generated at the build stage.
89

910
=== 1.0.11 ===
1011
* Small math optimizations for dsp::smooth_cubic_linear and dsp::smooth_cubic_log

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 & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ CXX_OBJ_NEON_D32 = $(ARTIFACT_BIN)/main/arm/neon-d32.o
9191
CXX_OBJ_AARCH64 = $(ARTIFACT_BIN)/main/aarch64/aarch64.o
9292
CXX_OBJ_ASIMD = $(ARTIFACT_BIN)/main/aarch64/asimd.o
9393
CXX_OBJ = $(CXX_OBJ_MAIN) $(CXX_OBJ_EXT)
94+
CXX_OBJ_ALL = \
95+
$(CXX_OBJ_MAIN) \
96+
$(CXX_OBJ_EXPORT) \
97+
$(CXX_OBJ_EXT) \
98+
$(CXX_OBJ_TEST) \
99+
$(CXX_OBJ_NOTEST)
94100

95101
ifeq ($(ARCHITECTURE_FAMILY),ia32)
96102
CXX_OBJ_EXT += $(CXX_OBJ_X86) $(CXX_OBJ_SSE) $(CXX_OBJ_SSE2) $(CXX_OBJ_SSE3) $(CXX_OBJ_SSE4) $(CXX_OBJ_AVX) $(CXX_OBJ_AVX2)
@@ -107,6 +113,7 @@ CXX_FILE = $(patsubst $(ARTIFACT_BIN)/%.o,%.cpp, $(@))
107113
CXX_HDR_PATHS = $(foreach hdr,$(ARTIFACT_HEADERS),$(ARTIFACT_INC)/$(hdr))
108114
CXX_HEADERS = $(foreach path,$(CXX_HDR_PATHS),$(call rwildcard, $(path), *.h))
109115
CXX_INSTHEADERS = $(patsubst $(ARTIFACT_INC)/%,$(DESTDIR)$(INCDIR)/%,$(CXX_HEADERS))
116+
DEP_FILE = $(patsubst %.o,%.d, $(@))
110117

111118
CXX_SSE_CFLAGS = -mmmx -m3dnow -msse
112119
CXX_SSE2_CFLAGS = $(CXX_SSE_CFLAGS) -msse2
@@ -128,41 +135,21 @@ DEP_CXX_FILE = $(patsubst $(ARTIFACT_BIN)/%.d,%.cpp,$(@))
128135
DEP_DEP_FILE = $(patsubst $(ARTIFACT_BIN)/%.d,%.o,$(@))
129136

130137
.DEFAULT_GOAL = all
131-
.PHONY: compile depend dep_clean all install uninstall
138+
.PHONY: compile all install uninstall
132139
.PHONY: $(ARTIFACT_DEPS)
133140

134-
# Dependencies
135-
dep_clean:
136-
137-
$(DEP_CXX): dep_clean
138-
echo " dep [$(ARTIFACT_NAME)] $(DEP_CXX_FILE)"
139-
mkdir -p $(dir $(@))
140-
$(CXX) -MM -MT "\$$($(ARTIFACT_ID)_BIN)/$(DEP_DEP_FILE)" -MF $(@) $(DEP_CXX_FILE) $(CXXFLAGS) $(INCLUDE) $(ARTIFACT_DEPFLAGS)
141-
142-
depend: $(DEP_CXX)
143-
$(foreach dep,$(ARTIFACT_DEP_LIST),\
144-
$(if $($(dep)_INC), \
145-
$(eval REPLACEMENT = $(shell echo "$($(dep)_INC)" | sed -E "s/\//\\\\\\\\\//g")) \
146-
$(eval SED_RULES += s/$(REPLACEMENT)/\$$$$\\($(dep)_INC\\)/g;)\
147-
)\
148-
$(if $($(dep)_BIN), \
149-
$(eval REPLACEMENT = $(shell echo "$($(dep)_BIN)" | sed -E "s/\//\\\\\\\\\//g")) \
150-
$(eval SED_RULES += s/$(REPLACEMENT)/\\$$$$\\($(dep)_BIN\\)/g;)\
151-
)\
152-
)
153-
cat $(DEP_CXX) | sed -E "$(SED_RULES)" >Makefile.$(ARCHITECTURE_FAMILY).d
154-
141+
# Compile dependencies
155142
$(ARTIFACT_DEPS):
156143
echo "make $(notdir $($(@)_OBJ))"
157144
$(MAKE) -C "$($(@)_PATH)" compile VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" DEMO_TEST="0" BUILD_HOST="$(BUILD_HOST)"
158145

159146
# Compilation
160147
compile: $(ARTIFACT_OBJ)
161148

162-
$(CXX_OBJ_MAIN) $(CXX_OBJ_EXPORT) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST) $(CXX_OBJ_NOTEST):
149+
$(CXX_OBJ_ALL):
163150
echo " $($(HOST)CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
164151
mkdir -p $(dir $@)
165-
$($(HOST)CXX) -o $(@) -c $(CXX_FILE) -fPIC $($(HOST)CXXFLAGS) $(ARTIFACT_MFLAGS) $($(HOST)EXT_FLAGS) $(INCLUDE) $(ARTIFACT_CFLAGS)
152+
$($(HOST)CXX) -o $(@) -c $(CXX_FILE) -fPIC $($(HOST)CXXFLAGS) $(ARTIFACT_MFLAGS) $($(HOST)EXT_FLAGS) $(INCLUDE) $(ARTIFACT_CFLAGS) -MMD -MP -MF $(DEP_FILE) -MT $(@)
166153

167154
# Producing large object files
168155
$(ARTIFACT_OBJ): $(CXX_OBJ)
@@ -235,4 +222,4 @@ $(CXX_OBJ_NEON_D32): EXT_FLAGS=$(CXX_NEON_D32_CFLAGS)
235222
$(CXX_OBJ_ASIMD): EXT_FLAGS=$(CXX_ASIMD_CFLAGS)
236223

237224
# Dependencies
238-
-include $(CURDIR)/Makefile.$(ARCHITECTURE_FAMILY).d
225+
-include $(foreach objfile,$(CXX_OBJ_ALL),$(patsubst %.o,%.d,$(objfile)))

0 commit comments

Comments
 (0)