3636 LIB_TARGET := ${BINDIR}/libtest.so
3737endif
3838
39- EXES := ${MLANG_TARGET} ${TESTS_TARGET}
40-
41- .PHONY : All
42- All : MLang Tests Lib
39+ EXES := ${MLANG_TARGET} ${TESTS_TARGET} ${TESTS_TARGET_SINGLE_HEADER}
4340
4441Lib : ${LIB_TARGET} | bin
4542
@@ -51,16 +48,16 @@ bin/libtest.so: lib/libtest.cpp | bin
5148 $(CXX ) $(CXXFLAGS ) -shared -fPIC $(CPPFLAGS ) -o $@ $<
5249endif
5350
54- HeaderLib : include/libmlang.h | include
51+ include/libmlang.h : | include
5552 python3 tools/generate_single_header.py
5653
57- MLang : $(OBJS ) $(MAINDIR ) /MLang.o | bin
54+ ${MLANG_TARGET} : $(OBJS ) $(MAINDIR ) /MLang.o | bin
5855 $(CXX ) $(CXXFLAGS ) $(CPPFLAGS ) -o ${MLANG_TARGET} $^
5956
60- Tests : $(OBJS ) $(MAINDIR ) /Tests.o | bin
57+ ${TESTS_TARGET} : $(OBJS ) $(MAINDIR ) /Tests.o | bin
6158 $(CXX ) $(CXXFLAGS ) $(CPPFLAGS ) -o ${TESTS_TARGET} $^
6259
63- HeaderLibTest : src/mains/Tests.cpp include/libmlang.h | bin
60+ ${TESTS_TARGET_SINGLE_HEADER} : src/mains/Tests.cpp | bin include include /libmlang.h
6461 $(CXX ) $(CXXFLAGS ) $(CPPFLAGS ) -DSINGLE_HEADER -o ${TESTS_TARGET_SINGLE_HEADER} $<
6562
6663include :
@@ -69,13 +66,13 @@ include:
6966bin :
7067 mkdir bin
7168
72- RunTest : Tests Lib
69+ RunTest : ${TESTS_TARGET} Lib
7370 ${TESTS_TARGET}
7471
75- RunSingleHeaderTest : HeaderLibTest Lib
72+ RunSingleHeaderTest : ${TESTS_TARGET_SINGLE_HEADER} Lib
7673 ${TESTS_TARGET_SINGLE_HEADER}
7774
78- Build : MLang Tests Lib HeaderLib
75+ Build : ${MLANG_TARGET} ${TESTS_TARGET} ${TESTS_TARGET_SINGLE_HEADER} Lib include/libmlang.h
7976
8077% .o : % .cpp % .h
8178 $(CXX ) $(CXXFLAGS ) $(CFLAGS ) $(CPPFLAGS ) -c $< -o $@
@@ -88,11 +85,12 @@ ifdef OS
8885 -del bin\libtest.dll >nul 2>&1;
8986 -del src\mains\MLang.o >nul 2>&1;
9087 -del src\mains\Tests.o >nul 2>&1;
88+ -del include\libmlang.h >nul 2>&1;
9189else
92- # Linux
93- $(foreach file, $(OBJS ), rm ${file};)
94- $(foreach file, $(EXES), rm ${file};)
95- rm bin/libtest.so
96- rm src/mains/mlang .o
97- rm src/mains/Tests.o
90+ $(foreach file, $(OBJS), rm -f ${file};)
91+ $(foreach file, $(EXES ), rm -f ${file};)
92+ rm -f bin/libtest.so
93+ rm -f src/mains/MLang.o
94+ rm -f src/mains/Tests .o
95+ rm -f include/libmlang.h
9896endif
0 commit comments