diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 46 |
1 files changed, 19 insertions, 27 deletions
@@ -1,24 +1,20 @@ PROJECTNAME=minicc -CXX=clang++-10 -#CXX=g++-9 +CXX=clang++-11 +#CXX=g++-10 -#CXXFLAGS=-O2 -DNDEBUG -CXXFLAGS=-O0 -g -D_DEBUG +CXXFLAGS=-O2 -DNDEBUG +#CXXFLAGS=-O0 -g -D_DEBUG # -fprofile-instr-generate -fcoverage-mapping # gcc:--coverage -CXXFLAGS+= -Wall -I. +CXXFLAGS+= -Wall -I. -std=c++20 -ifeq ($(CXX),clang++-10) -# broken with lld-8: -# ld.lld-8: error: undefined symbol: boost::re_detail_106700::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const -CXXFLAGS+=-std=c++20 -stdlib=libc++ -else -CXXFLAGS+=-std=c++2a +ifeq ($(CXX),clang++-11) +CXXFLAGS+=-stdlib=libc++ endif -CXXTESTFLAGS=-Igoogletest/include -Igooglemock/include/ -Igoogletest -Igooglemock +CXXTESTFLAGS+=-Igoogletest/include -Igooglemock/include/ -Igoogletest -Igooglemock LIBS=\ -lboost_context \ @@ -30,9 +26,9 @@ LIBS=\ -lboost_regex \ -lpthread -ifeq ($(CXX),clang++-10) +ifeq ($(CXX),clang++-11) LIBS+= \ --fuse-ld=lld-10 \ +-fuse-ld=lld-11 \ -lc++ \ -lc++abi #-lc++fs @@ -98,6 +94,7 @@ PROGSRC=\ programopts.cpp TESTSRC=\ + tests/test-asm.cpp \ tests/test-cpp.cpp \ tests/test-cppbnf.cpp \ tests/test-elf.cpp \ @@ -105,7 +102,6 @@ TESTSRC=\ tests/test-grammer.cpp \ tests/test-lexer.cpp \ tests/test-minicc.cpp \ - tests/test-asm.cpp \ googlemock/src/gmock-all.cpp \ googletest/src/gtest-all.cpp \ $(PROGSRC) @@ -116,26 +112,24 @@ all: mcc test: unittest systemtest +check: test + # Tests on C++ level unittest: test-$(PROJECTNAME) ./test-$(PROJECTNAME) #--gtest_filter='CppTest.compile_parentheses_right' # Testing mcc executable and compiled elf programs systemtest: mcc - ./mcc systemtest/mcc-execute.tests/test-return-1.cpp - ./mcc systemtest/mcc-execute.tests/test-addition.cpp runtest --srcdir systemtest --tool mcc # --all # testsuite ---------------------------------------------- -test-$(PROJECTNAME): $(TESTSRC:.cpp=.o) - $(CXX) $(CXXFLAGS) $^ $(LIBS) -o $@ +test-$(PROJECTNAME): dep $(TESTSRC:.cpp=.o) + $(CXX) $(CXXFLAGS) $(TESTSRC:.cpp=.o) $(LIBS) -o $@ -mcc: $(SRC:.cpp=.o) - $(CXX) $(CXXFLAGS) $^ $(LIBS) -o $@ +mcc: dep $(SRC:.cpp=.o) + $(CXX) $(CXXFLAGS) $(SRC:.cpp=.o) $(LIBS) -o $@ -dep: - -rm -f $(TESTSRC:.cpp=.d) mcc.d - $(MAKE) $(TESTSRC:.cpp=.d) mcc.d +dep: $(TESTSRC:.cpp=.d) mcc.d %.d: %.cpp $(CXX) $(CXXFLAGS) $(CXXTESTFLAGS) -MM -MP -MF $@ -MT $(*D)/$(*F).o -c $< @@ -154,8 +148,6 @@ ADD_DEP=Makefile clean: -rm -f test-$(PROJECTNAME) mcc tempfile.txt -find . -name '*.o' -o -name '*.d' -o -name '*.gcno' -o -name '*.gcda' | xargs rm -f - -rm -f systemtest/mcc-execute.tests/test-return-1 - -rm -f systemtest/mcc-execute.tests/test-addition -rm -f *.log *.sum zip: clean @@ -163,6 +155,6 @@ zip: clean zip -r ../$(PROJECTNAME).zip * ls -l ../$(PROJECTNAME).zip -.PHONY: clean all zip dep systemtest unittest +.PHONY: clean all zip dep test check systemtest unittest -include $(wildcard $(SRC:.cpp=.d)) |