| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | # building depends on debian packages: "g++" "llvm-dev" "bison" "flex" (and "make", duh)# running depends on "llvm" if not statically linkedCXX := clang++LLVMCONFIG := llvm-configINCLUDEDIRS := -I$(shell $(LLVMCONFIG) --includedir) -I. -I.. -Isem/ -Iast/CXXFLAGS := -std=c++17 $(INCLUDEDIRS) -w $(FLAGS) # -Wall -Wextraifdef STATICLDFLAGS := $(shell $(LLVMCONFIG) --link-static --ldflags --system-libs --libs all) -static -dead-strip -selseLDFLAGS := $(shell $(LLVMCONFIG) --ldflags --system-libs --libs all)endifYACC := bisonYACCFLAGS := -dLEX := flexLEXFLAGS := "-8"#OBJECTS := $(patsubst %.cpp, %.o, $(wildcard *.cpp */*.cpp))OBJECTS := $(patsubst %.cpp, %.o, $(wildcard *.cpp)) \    parser.o lexer.oLIBRARIES := EXECUTABLE := qlow.PHONY: allall: $(EXECUTABLE)release: CXXFLAGS += -O3 -fltorelease: LDFLAGS += -O3 -fltorelease: alldebug: CXXFLAGS += -DDEBUGGING -gdebug: all$(EXECUTABLE): $(OBJECTS)	$(CXX) $^ $(LDFLAGS) -o $@parser.o: parser.cpp	$(CXX) -c -o $@ $< $(CXXFLAGS) -fno-strict-aliasing%.o: %.cpp	$(CXX) -c -o $@ $< $(CXXFLAGS)%.cpp: %.y	$(YACC) -o $@ $< $(YACCFLAGS)%.cpp: %.l parser.cpp	$(LEX) $(LEXFLAGS) -o $@ $<.PHONY: cleanclean:	rm -f $(EXECUTABLE) $(OBJECTS) parser.cpp parser.hpp lexer.cpp
 |