Files
libsst/ZTestSuite/Makefile
2026-04-03 00:22:39 -05:00

113 lines
2.7 KiB
Makefile

# Test App - Util/Makefile
# Makefile for Util, requires GNU "make"
.PHONY: release debug
#Required libraries
REQ_LIBS := libZUtil.a libsst-concurrency.a libsst-os.a libsst-atomic.a libsst-crypto.a libsst-random.a libsst-math.a
#Name of binary
BINNAME := ZTestSuite.bin
#In debug mode, use debug versions of libraries
ifeq ($(TARGET),debug)
REQ_LIBS := $(foreach lib,$(REQ_LIBS), $(subst .a,_d.a, $(lib)))
BINNAME := $(subst .bin,_d.bin, $(BINNAME))
endif
# Generate the lib names with the full dist name.
# This is only used for dependency checking
REQ_LIBS_DIST := $(foreach lib,$(REQ_LIBS), $(DIST)/$(lib))
#Generate LDFLAGS for $REQ_LIBS: "libfoo.a" becomes "-lfoo"
REQ_LIBS_LDFLAGS := $(foreach lib,$(REQ_LIBS), $(subst lib,-l,$(lib)))
REQ_LIBS_LDFLAGS := -L$(DIST) $(foreach lib,$(REQ_LIBS_LDFLAGS), $(subst .a,,$(lib)))
override LDFLAGS := $(subst noop,noop, -L.. $(REQ_LIBS_LDFLAGS) $(LDFLAGS)) $(ZENGINE_BASE_LIBS)
SRC = \
Test-SST_Atomic.cpp \
Test-SST_Endian.cpp \
Test-SST_SafeArithmetic.cpp \
Test-SST_FileSys.cpp \
Test-ZAlloc.cpp \
Test-ZAllocWindow.cpp \
Test-ZArrayAlgo.cpp \
Test-ZArray.cpp \
Test-ZAssert.cpp \
Test-ZBasicStringAlgo.cpp \
Test-ZBasicString.cpp \
Test-ZConcurrency.cpp \
Test-ZHashMap.cpp \
Test-ZIniReader.cpp \
Test-ZIniWriter.cpp \
Test-ZJSONReader.cpp \
Test-ZJSONWriter.cpp \
Test-ZKVTree.cpp \
Test-ZListAlgo.cpp \
Test-ZList.cpp \
Test-ZName.cpp \
Test-ZRandomGenerator.cpp \
Test-ZReferenceCounter.cpp \
Test-ZRegistry.cpp \
Test-ZRingBuffer.cpp \
Test-ZSimplexNoise.cpp \
Test-ZSlabAllocator.cpp \
Test-ZSmartPointer.cpp \
Test-ZTaskStream.cpp \
Test-ZWeakPointer.cpp \
Test-ZXMLReader.cpp \
Test-ZXMLWriter.cpp \
ZTestSuiteMain.cpp \
ZUnitTest.cpp
SRC+= \
Test-SST_Mat22d.cpp \
Test-SST_Mat22f.cpp \
Test-SST_Mat22i.cpp \
Test-SST_Mat22u.cpp \
Test-SST_Mat33d.cpp \
Test-SST_Mat33f.cpp \
Test-SST_Mat33i.cpp \
Test-SST_Mat33u.cpp \
Test-SST_Mat44d.cpp \
Test-SST_Mat44f.cpp \
Test-SST_Mat44i.cpp \
Test-SST_Mat44u.cpp \
Test-SST_Vec2d.cpp \
Test-SST_Vec2f.cpp \
Test-SST_Vec2i.cpp \
Test-SST_Vec2u.cpp \
Test-SST_Vec3d.cpp \
Test-SST_Vec3f.cpp \
Test-SST_Vec3i.cpp \
Test-SST_Vec3u.cpp \
Test-SST_Vec4d.cpp \
Test-SST_Vec4f.cpp \
Test-SST_Vec4i.cpp \
Test-SST_Vec4u.cpp \
Test-SST_Transform.cpp \
Test-SST_Geo.cpp
# Test-SST_Net.cpp
OBJ := $(addprefix obj/$(ARCH)/$(TARGET)/,$(subst .cpp,.o,$(SRC)) )
$(shell mkdir -p obj/$(ARCH)/$(TARGET))
all: $(BINNAME)
# CLEAN
clean:
@-rm -r -f obj ZTestSuite*.bin
$(BINNAME): $(OBJ) $(REQ_LIBS_DIST)
@echo LD $@
$(CXX) $+ $(LDFLAGS) -o $@
# *.cpp files to *.o files
obj/$(ARCH)/$(TARGET)/%.o: %.cpp
@echo CXX $@
@$(CXX) $(CXXFLAGS) -I../Include -I../Lib/Include -c $< -o $@