diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2024-10-11 18:41:47 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2024-10-11 18:41:47 -0400 |
| commit | 887a9f559e71d8a788fbfe210f126eda5ba7969b (patch) | |
| tree | 23a282241115abad7f62f0c7b4f0973cab0c4952 /Makefile | |
initial commit: macros, memory, tests
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bf99592 --- /dev/null +++ b/Makefile @@ -0,0 +1,88 @@ +# pkh - header-only library +# See LICENSE file for copyright and license details. + +include config.mk + +.PHONY: pkmem-types pkmem + +SRC = \ + pkmacros.h \ + pkmem-types.h \ + pkmem.h \ + test/pkmacros.c \ + test/pkmacros.cpp \ + test/pkmem-types.c \ + test/pkmem-types.cpp \ + test/pkmem.c \ + test/pkmem.cpp \ + +OBJ = $(SRC:%.c=.o) +PPOBJ = $(SRC:%.cpp=.so) +HOBJ = $(SRC:%.h=.gch) +HPPOBJ = $(SRC:%.h=.gchpp) + +all: options .WAIT clean .WAIT \ + pkmacros pkmem-types pkmem \ + test-pkmem test-pkmem-cpp \ + test-types-pkmem test-types-pkmem-cpp \ + test-pkmacros test-pkmacros-cpp \ + +options: + @echo at-suite build options: + @echo "CFLAGS = $(CFLAGS)" + @echo "LDFLAGS = $(LDFLAGS)" + @echo "CC = $(CC)" + +%.gch: %.h + $(CC) -std=c2x $(CFLAGS) -c $< -o $@ +%.gchpp: %.h + $(CXX) -std=c++23 $(CPPFLAGS) -x c++-header -c $< -o $@ +%.o: %.c + $(CC) -std=c2x $(CFLAGS) -g -O0 -c $< -o $@ +%.so: %.cpp + $(CXX) -std=c++23 $(CPPFLAGS) -g -O0 -c $< -o $@ + +$(OBJ): config.mk +$(PPOBJ): config.mk +$(HOBJ): config.mk +$(HPPOBJ): config.mk + +pkmacros: pkmacros.gch pkmacros.gchpp + +pkmem-types: pkmacros pkmem-types.gch pkmem-types.gchpp + +pkmem: pkmem-types pkmem.gch pkmem.gchpp + +test-pkmacros: test/pkmacros.o + $(CC) -g -O0 -std=c2x $(CFLAGS) -o test/$@ $^ $(LDFLAGS) + +test-pkmacros-cpp: test/pkmacros.so + $(CXX) -g -O0 -std=c++23 $(CPPFLAGS) -o test/$@ $^ $(LDFLAGS) + +test-pkmem-types: test/pkmem-types.o + $(CC) -g -O0 -std=c2x $(CFLAGS) -o test/$@ $^ $(LDFLAGS) + +test-pkmem-types-cpp: test/pkmem-types.so + $(CXX) -g -O0 -std=c++23 $(CPPFLAGS) -o test/$@ $^ $(LDFLAGS) + +test-pkmem: test/pkmem.o + $(CC) -g -O0 -std=c2x $(CFLAGS) -o test/$@ $^ $(LDFLAGS) + +test-pkmem-cpp: test/pkmem.so + $(CXX) -g -O0 -std=c++23 $(CPPFLAGS) -o test/$@ $^ $(LDFLAGS) + +test: pkmacros pkmem-types pkmem +test: test-pkmacros test-pkmacros-cpp +test: test-pkmem-types test-pkmem-types-cpp +test: test-pkmem test-pkmem-cpp +test: + @echo "" + ./test/test-pkmacros ; echo Result: $$? "\n" + ./test/test-pkmacros-cpp ; echo Result: $$? "\n" + ./test/test-pkmem-types ; echo Result: $$? "\n" + ./test/test-pkmem-types-cpp ; echo Result: $$? "\n" + ./test/test-pkmem ; echo Result: $$? "\n" + ./test/test-pkmem-cpp ; echo Result: $$? "\n" + +clean: + rm -f *.plist *.gch *.gchpp *.o *.so test/*.o test/*.so test/test-* |
