@@ -42,6 +42,7 @@ ARTIFACT_LIBLINK = $(LIBRARY_PREFIX)$(ARTIFACT_NAME)$(LIBRARY_EXT)
4242ARTIFACT_SLIBLINK = $(LIBRARY_PREFIX )$(ARTIFACT_NAME )$(STATICLIB_EXT )
4343ARTIFACT_PC = $(ARTIFACT_BIN ) /$(ARTIFACT_NAME )$(PKGCONFIG_EXT )
4444ARTIFACT_OBJ = $($(ARTIFACT_ID ) _OBJ)
45+ ARTIFACT_OBJ_TEST = $($(ARTIFACT_ID ) _OBJ_TEST)
4546ARTIFACT_MFLAGS = $($(ARTIFACT_ID ) _MFLAGS) $(foreach dep,$(DEPENDENCIES ) ,-DUSE_$(dep ) )
4647ARTIFACT_DEPS = $(call dquery, OBJ, $(DEPENDENCIES ) )
4748ARTIFACT_CFLAGS = $(call query, CFLAGS, $(DEPENDENCIES ) $(ARTIFACT_ID ) )
@@ -53,11 +54,13 @@ ARTIFACT_TARGETS = $(ARTIFACT_LIB) $(ARTIFACT_SLIB) $(ARTIFACT_PC)
5354# Source code
5455CXX_SRC_MAIN = main/dsp.cpp main/generic/generic.cpp
5556CXX_SRC_TEST = $(call rwildcard, test, * .cpp)
57+ CXX_SRC_NOTEST =
5658CXX_SRC_EXT = $(patsubst $($(ARTIFACT_ID ) _BIN) /% .o, % .cpp, $(CXX_OBJ_EXT ) )
5759CXX_SRC = $(CXX_SRC_MAIN ) $(CXX_SRC_EXT )
5860
5961CXX_OBJ_MAIN = $(patsubst % .cpp, $($(ARTIFACT_ID ) _BIN) /% .o, $(CXX_SRC_MAIN ) )
6062CXX_OBJ_TEST = $(patsubst % .cpp, $($(ARTIFACT_ID ) _BIN) /% .o, $(CXX_SRC_TEST ) )
63+ CXX_OBJ_NOTEST = $(patsubst % .cpp, $($(ARTIFACT_ID ) _BIN) /% .o, $(CXX_SRC_NOTEST ) )
6164CXX_OBJ_EXT =
6265CXX_OBJ_X86 = $(ARTIFACT_BIN ) /main/x86/x86.o
6366CXX_OBJ_SSE = $(ARTIFACT_BIN ) /main/x86/sse.o
@@ -100,8 +103,6 @@ CXX_ASIMD_CFLAGS = -march=armv8-a+simd
100103BUILD_ALL = $(ARTIFACT_LIB ) $(ARTIFACT_SLIB ) $(ARTIFACT_PC )
101104
102105ifeq ($($(ARTIFACT_ID ) _TESTING) ,1)
103- CXX_SRC += $(CXX_SRC_TEST )
104- CXX_OBJ += $(CXX_OBJ_TEST )
105106 ARTIFACT_TARGETS += $(ARTIFACT_TEST_BIN )
106107endif
107108
@@ -139,7 +140,7 @@ $(ARTIFACT_DEPS):
139140# Compilation
140141compile : $(ARTIFACT_OBJ )
141142
142- $(CXX_OBJ_MAIN ) $(CXX_OBJ_EXT ) $(CXX_OBJ_TEST ) :
143+ $(CXX_OBJ_MAIN ) $(CXX_OBJ_EXT ) $(CXX_OBJ_TEST ) $( CXX_OBJ_NOTEST ) :
143144 @echo " $( CXX) [$( ARTIFACT_NAME) ] $( CXX_FILE) "
144145 @mkdir -p $(dir $@ )
145146 @$(CXX ) -o $(@ ) -c $(CXX_FILE ) -fPIC $(CXXFLAGS ) $(ARTIFACT_MFLAGS ) $(EXT_FLAGS ) $(INCLUDE ) $(ARTIFACT_CFLAGS )
@@ -148,21 +149,25 @@ $(CXX_OBJ_MAIN) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST):
148149$(ARTIFACT_OBJ ) : $(CXX_OBJ )
149150 @echo " $( LD) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_OBJ) ) "
150151 @$(LD ) -o $(ARTIFACT_OBJ ) -r $(CXX_OBJ )
151-
152+
153+ $(ARTIFACT_OBJ_TEST ) : $(CXX_OBJ_TEST )
154+ @echo " $( LD) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_OBJ_TEST) ) "
155+ @$(LD ) -o $(ARTIFACT_OBJ_TEST ) -r $(CXX_OBJ_TEST )
156+
152157# Linking
153158all : $(ARTIFACT_TARGETS )
154159
155- $(ARTIFACT_LIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ )
160+ $(ARTIFACT_LIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $( CXX_OBJ_NOTEST )
156161 @echo " $( CXX) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_LIB) ) "
157- @$(CXX ) -o $(ARTIFACT_LIB ) $(ARTIFACT_OBJFILES ) $(SO_FLAGS ) $(ARTIFACT_LDFLAGS )
162+ @$(CXX ) -o $(ARTIFACT_LIB ) $(ARTIFACT_OBJFILES ) $(CXX_OBJ_NOTEST ) $( SO_FLAGS ) $(ARTIFACT_LDFLAGS )
158163
159- $(ARTIFACT_SLIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ )
164+ $(ARTIFACT_SLIB ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $( CXX_OBJ_NOTEST )
160165 @echo " $( AR) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_SLIB) ) "
161- @$(AR ) rcs $(ARTIFACT_SLIB ) $(ARTIFACT_OBJFILES )
166+ @$(AR ) rcs $(ARTIFACT_SLIB ) $(ARTIFACT_OBJFILES ) $( CXX_OBJ_NOTEST )
162167
163- $(ARTIFACT_TEST_BIN ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $(ARTIFACT_TEST_OBJ )
168+ $(ARTIFACT_TEST_BIN ) : $(ARTIFACT_DEPS ) $(ARTIFACT_OBJ ) $(ARTIFACT_OBJ_TEST )
164169 @echo " $( CXX) [$( ARTIFACT_NAME) ] $( notdir $( ARTIFACT_TEST_BIN) ) "
165- @$(CXX ) -o $(ARTIFACT_TEST_BIN ) $(ARTIFACT_OBJFILES ) $(EXE_FLAGS ) $(ARTIFACT_LDFLAGS )
170+ @$(CXX ) -o $(ARTIFACT_TEST_BIN ) $(ARTIFACT_OBJFILES ) $(ARTIFACT_OBJ_TEST ) $( EXE_FLAGS ) $(ARTIFACT_LDFLAGS )
166171
167172$(ARTIFACT_PC ) :
168173 @mkdir -p $(dir $(ARTIFACT_PC ) )
0 commit comments