Skip to content

Commit d245537

Browse files
committed
Updated build
1 parent 17b1f80 commit d245537

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

make/configure.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ define srcconfig =
9595
$(if $($(name)_CFLAGS),, $(eval $(name)_CFLAGS := "-I\"$($(name)_INC)\"" $(if $(builtin),"-D$(name)_BUILTIN")))
9696
$(if $($(name)_LDLAGS),, $(eval $(name)_LDFLAGS :=))
9797
$(if $($(name)_OBJ),, $(eval $(name)_OBJ := "$($(name)_BIN)/$($(name)_NAME).o"))
98+
$(if $($(name)_OBJ_TEST),,$(eval $(name)_OBJ_TEST:= "$($(name)_BIN)/$($(name)_NAME)-test.o"))
9899
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := $(if $(builtin),"-D$(name)_BUILTIN -fvisibility=hidden")))
99100
endef
100101

@@ -159,6 +160,7 @@ CONFIG_VARS = \
159160
$(name)_MFLAGS \
160161
$(name)_LDFLAGS \
161162
$(name)_OBJ \
163+
$(name)_OBJ_TEST \
162164
)
163165

164166
.DEFAULT_GOAL := config

src/Makefile

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ ARTIFACT_LIBLINK = $(LIBRARY_PREFIX)$(ARTIFACT_NAME)$(LIBRARY_EXT)
4242
ARTIFACT_SLIBLINK = $(LIBRARY_PREFIX)$(ARTIFACT_NAME)$(STATICLIB_EXT)
4343
ARTIFACT_PC = $(ARTIFACT_BIN)/$(ARTIFACT_NAME)$(PKGCONFIG_EXT)
4444
ARTIFACT_OBJ = $($(ARTIFACT_ID)_OBJ)
45+
ARTIFACT_OBJ_TEST = $($(ARTIFACT_ID)_OBJ_TEST)
4546
ARTIFACT_MFLAGS = $($(ARTIFACT_ID)_MFLAGS) $(foreach dep,$(DEPENDENCIES),-DUSE_$(dep))
4647
ARTIFACT_DEPS = $(call dquery, OBJ, $(DEPENDENCIES))
4748
ARTIFACT_CFLAGS = $(call query, CFLAGS, $(DEPENDENCIES) $(ARTIFACT_ID))
@@ -53,11 +54,13 @@ ARTIFACT_TARGETS = $(ARTIFACT_LIB) $(ARTIFACT_SLIB) $(ARTIFACT_PC)
5354
# Source code
5455
CXX_SRC_MAIN = $(call rwildcard, main, *.cpp)
5556
CXX_SRC_TEST = $(call rwildcard, test, *.cpp)
57+
CXX_SRC_NOTEST =
5658
CXX_SRC_EXT =
5759
CXX_SRC = $(CXX_SRC_MAIN) $(CXX_SRC_EXT)
5860

5961
CXX_OBJ_MAIN = $(patsubst %.cpp, $($(ARTIFACT_ID)_BIN)/%.o, $(CXX_SRC_MAIN))
6062
CXX_OBJ_TEST = $(patsubst %.cpp, $($(ARTIFACT_ID)_BIN)/%.o, $(CXX_SRC_TEST))
63+
CXX_OBJ_NOTEST = $(patsubst %.cpp, $($(ARTIFACT_ID)_BIN)/%.o, $(CXX_SRC_NOTEST))
6164
CXX_OBJ_EXT = $(patsubst %.cpp, $($(ARTIFACT_ID)_BIN)/%.o, $(CXX_SRC_EXT))
6265
CXX_OBJ = $(CXX_OBJ_MAIN) $(CXX_OBJ_EXT)
6366

@@ -70,8 +73,6 @@ CXX_INSTHEADERS = $(patsubst $($(ARTIFACT_ID)_INC)/%,$(DESTDIR)$(INCDIR)
7073
BUILD_ALL = $(ARTIFACT_LIB) $(ARTIFACT_SLIB) $(ARTIFACT_PC)
7174

7275
ifeq ($($(ARTIFACT_ID)_TESTING),1)
73-
CXX_SRC += $(CXX_SRC_TEST)
74-
CXX_OBJ += $(CXX_OBJ_TEST)
7576
ARTIFACT_TARGETS += $(ARTIFACT_TEST_BIN)
7677
endif
7778

@@ -109,7 +110,7 @@ $(ARTIFACT_DEPS):
109110
# Compilation
110111
compile: $(ARTIFACT_OBJ)
111112

112-
$(CXX_OBJ_MAIN) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST):
113+
$(CXX_OBJ_MAIN) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST) $(CXX_OBJ_NOTEST):
113114
@echo " $(CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
114115
@mkdir -p $(dir $@)
115116
@$(CXX) -o $(@) -c $(CXX_FILE) -fPIC $(CXXFLAGS) $(ARTIFACT_MFLAGS) $(EXT_FLAGS) $(INCLUDE) $(ARTIFACT_CFLAGS)
@@ -118,21 +119,25 @@ $(CXX_OBJ_MAIN) $(CXX_OBJ_EXT) $(CXX_OBJ_TEST):
118119
$(ARTIFACT_OBJ): $(CXX_OBJ)
119120
@echo " $(LD) [$(ARTIFACT_NAME)] $(notdir $(ARTIFACT_OBJ))"
120121
@$(LD) -o $(ARTIFACT_OBJ) -r $(CXX_OBJ)
121-
122+
123+
$(ARTIFACT_OBJ_TEST): $(CXX_OBJ_TEST)
124+
@echo " $(LD) [$(ARTIFACT_NAME)] $(notdir $(ARTIFACT_OBJ_TEST))"
125+
@$(LD) -o $(ARTIFACT_OBJ_TEST) -r $(CXX_OBJ_TEST)
126+
122127
# Linking
123128
all: $(ARTIFACT_TARGETS)
124129

125-
$(ARTIFACT_LIB): $(ARTIFACT_DEPS) $(ARTIFACT_OBJ)
130+
$(ARTIFACT_LIB): $(ARTIFACT_DEPS) $(ARTIFACT_OBJ) $(CXX_OBJ_NOTEST)
126131
@echo " $(CXX) [$(ARTIFACT_NAME)] $(notdir $(ARTIFACT_LIB))"
127-
@$(CXX) -o $(ARTIFACT_LIB) $(ARTIFACT_OBJFILES) $(SO_FLAGS) $(ARTIFACT_LDFLAGS)
132+
@$(CXX) -o $(ARTIFACT_LIB) $(ARTIFACT_OBJFILES) $(CXX_OBJ_NOTEST) $(SO_FLAGS) $(ARTIFACT_LDFLAGS)
128133

129-
$(ARTIFACT_SLIB): $(ARTIFACT_DEPS) $(ARTIFACT_OBJ)
134+
$(ARTIFACT_SLIB): $(ARTIFACT_DEPS) $(ARTIFACT_OBJ) $(CXX_OBJ_NOTEST)
130135
@echo " $(AR) [$(ARTIFACT_NAME)] $(notdir $(ARTIFACT_SLIB))"
131-
@$(AR) rcs $(ARTIFACT_SLIB) $(ARTIFACT_OBJFILES)
136+
@$(AR) rcs $(ARTIFACT_SLIB) $(ARTIFACT_OBJFILES) $(CXX_OBJ_NOTEST)
132137

133-
$(ARTIFACT_TEST_BIN): $(ARTIFACT_DEPS) $(ARTIFACT_OBJ) $(ARTIFACT_TEST_OBJ)
138+
$(ARTIFACT_TEST_BIN): $(ARTIFACT_DEPS) $(ARTIFACT_OBJ) $(ARTIFACT_OBJ_TEST)
134139
@echo " $(CXX) [$(ARTIFACT_NAME)] $(notdir $(ARTIFACT_TEST_BIN))"
135-
@$(CXX) -o $(ARTIFACT_TEST_BIN) $(ARTIFACT_OBJFILES) $(EXE_FLAGS) $(ARTIFACT_LDFLAGS)
140+
@$(CXX) -o $(ARTIFACT_TEST_BIN) $(ARTIFACT_OBJFILES) $(ARTIFACT_OBJ_TEST) $(EXE_FLAGS) $(ARTIFACT_LDFLAGS)
136141

137142
$(ARTIFACT_PC):
138143
@mkdir -p $(dir $(ARTIFACT_PC))

0 commit comments

Comments
 (0)