1616# Compiler and flags
1717CC = gcc
1818CFLAGS = -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR ) -I$(SQLITE_DIR ) -I$(CURL_DIR ) /include
19- TEST_FLAGS = $(CFLAGS ) -DSQLITE_CORE -DCLOUDSYNC_UNITTEST -DCLOUDSYNC_OMIT_NETWORK -DCLOUDSYNC_OMIT_PRINT_RESULT
20- EXTENSION_FLAGS = $(CFLAGS ) -O3 -fPIC
19+ T_CFLAGS = $(CFLAGS ) -DSQLITE_CORE -DCLOUDSYNC_UNITTEST -DCLOUDSYNC_OMIT_NETWORK -DCLOUDSYNC_OMIT_PRINT_RESULT
2120LDFLAGS = -L./$(CURL_DIR ) /$(PLATFORM ) -lcurl
2221COVERAGE = false
2322
@@ -50,14 +49,14 @@ COV_FILES = $(filter-out $(SRC_DIR)/lz4.c $(SRC_DIR)/network.c, $(SRC_FILES))
5049ifeq ($(PLATFORM ) ,windows)
5150 TARGET := $(DIST_DIR ) /cloudsync.dll
5251 LDFLAGS += -shared -lbcrypt -lcrypt32 -lsecur32 -lws2_32
53- TEST_FLAGS + = -lws2_32 -lbcrypt
52+ T_LDFLAGS = -lws2_32 -lbcrypt
5453 # Create .def file for Windows
5554 DEF_FILE := $(BUILD_RELEASE ) /cloudsync.def
5655 CFLAGS += -DCURL_STATICLIB
5756else ifeq ($(PLATFORM),macos)
5857 TARGET := $(DIST_DIR ) /cloudsync.dylib
5958 LDFLAGS += -arch x86_64 -arch arm64 -framework Security -dynamiclib -undefined dynamic_lookup
60- TEST_FLAGS + = -framework Security
59+ T_LDFLAGS = -framework Security
6160 CFLAGS += -arch x86_64 -arch arm64
6261else ifeq ($(PLATFORM),android)
6362 # Use Android NDK's Clang compiler, the user should set the CC
@@ -71,25 +70,24 @@ else ifeq ($(PLATFORM),ios)
7170 TARGET := $(DIST_DIR ) /cloudsync.dylib
7271 SDK := -isysroot $(shell xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=11.0
7372 LDFLAGS += -framework Security -framework CoreFoundation -dynamiclib $(SDK )
74- TEST_FLAGS + = -framework Security
73+ T_LDFLAGS = -framework Security
7574 CFLAGS += -arch arm64 $(SDK )
7675else ifeq ($(PLATFORM),isim)
7776 TARGET := $(DIST_DIR ) /cloudsync.dylib
7877 SDK := -isysroot $(shell xcrun --sdk iphonesimulator --show-sdk-path) -miphonesimulator-version-min=11.0
7978 LDFLAGS += -arch x86_64 -arch arm64 -framework Security -framework CoreFoundation -dynamiclib $(SDK )
80- TEST_FLAGS + = -framework Security
79+ T_LDFLAGS = -framework Security
8180 CFLAGS += -arch x86_64 -arch arm64 $(SDK )
8281else # linux
8382 TARGET := $(DIST_DIR ) /cloudsync.so
8483 LDFLAGS += -shared -lssl -lcrypto
85- CFLAGS += -lm
8684endif
8785
8886ifneq ($(COVERAGE ) ,false)
8987ifneq (,$(filter $(platform ) ,linux windows) )
90- TEST_FLAGS += -lgcov
88+ T_LDFLAGS += -lgcov
9189endif
92- TEST_FLAGS += -fprofile-arcs -ftest-coverage
90+ T_LDFLAGS += -fprofile-arcs -ftest-coverage
9391endif
9492
9593# Windows .def file generation
@@ -125,15 +123,15 @@ endif
125123
126124# Test executable
127125$(TEST_TARGET ) : $(TEST_OBJ )
128- $(CC ) $? -o $@ $(TEST_FLAGS )
126+ $(CC ) $? -o $@ $(T_LDFLAGS )
129127
130128# Object files
131129$(BUILD_RELEASE ) /% .o : % .c
132- $(CC ) $(EXTENSION_FLAGS ) -c $< -o $@
130+ $(CC ) $(CFLAGS ) -O3 -fPIC -c $< -o $@
133131$(BUILD_TEST ) /sqlite3.o : $(SQLITE_DIR ) /sqlite3.c
134132 $(CC ) $(CFLAGS ) -DSQLITE_CORE=1 -c $< -o $@
135133$(BUILD_TEST ) /% .o : % .c
136- $(CC ) $(TEST_FLAGS ) -c $< -o $@
134+ $(CC ) $(T_CFLAGS ) -c $< -o $@
137135
138136# Run code coverage (--css-file $(CUSTOM_CSS))
139137test : $(TARGET ) $(TEST_TARGET )
@@ -143,7 +141,6 @@ ifneq ($(COVERAGE),false)
143141 mkdir -p $(COV_DIR)
144142 lcov --capture --directory . --output-file $(COV_DIR)/coverage.info $(subst src, --include src,${COV_FILES})
145143 genhtml $(COV_DIR)/coverage.info --output-directory $(COV_DIR)
146- rm -rf $(COV_DIR)/coverage.info
147144endif
148145
149146# Clean up generated files
0 commit comments