69 línte
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			69 línte
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| 
 | |
| CPPSTD=c++20
 | |
| CXXFLAGS=-std=$(CPPSTD) -O0 -g -no-pie -pipe -MMD -Wall -Wextra
 | |
| RELEASE_CXXFLAGS=-std=$(CPPSTD) -O3 -pipe -MMD -Wall -Wextra
 | |
| LDFLAGS=-lsqlite3 -lpthread -lcrypto -lstdc++fs
 | |
| INCLUDEFLAGS=-I submodules/sqlitemoderncpp/hdr -I submodules/cpp-httplib -I submodules/qssb.h
 | |
| 
 | |
| CXX=g++
 | |
| 
 | |
| 
 | |
| SOURCES=$(wildcard *.cpp)
 | |
| SOURCES+=$(wildcard gateway/*.cpp)
 | |
| SOURCES+=$(wildcard handlers/*.cpp)
 | |
| SOURCES+=$(wildcard database/*.cpp)
 | |
| SOURCES+=$(wildcard cache/*.cpp)
 | |
| SOURCES+=$(wildcard sandbox/*.cpp)
 | |
| 
 | |
| HEADERS=$(wildcard *.h)
 | |
| HEADERS+=$(wildcard gateway/*.h)
 | |
| HEADERS+=$(wildcard handlers/*.h)
 | |
| HEADERS+=$(wildcard database/*.h)
 | |
| HEADERS+=$(wildcard cache/*.h)
 | |
| HEADERS+=$(wildcard sandbox/*.h)
 | |
| 
 | |
| 
 | |
| OBJECTS=$(patsubst %.cpp, %.o, $(SOURCES))
 | |
| WIKIOBJECTS=$(filter-out test.o, $(OBJECTS))
 | |
| TESTOBJECTS=$(filter-out qswiki.o, $(OBJECTS))
 | |
| DEPENDS = ${WIKIOBJECTS:.o=.d}
 | |
| -include ${DEPENDS}
 | |
| 
 | |
| # Points to the root of Google Test, relative to where this file is.
 | |
| # Remember to tweak this if you move this file.
 | |
| GTEST_DIR = /home/data/SOURCES/gtest/googletest
 | |
| 
 | |
| GTESTS_TESTDIR = ./tests/
 | |
| 
 | |
| GTEST_CXXFLAGS=-std=$(CPPSTD) -isystem $(GTEST_DIR)/include -I$(GTEST_DIR) -g -O0 -pipe -Wall -Wextra
 | |
| GTEST_LDFLAGS=-lsqlite3 -g -O0 -lpthread -lcrypto -lstdc++fs
 | |
| GTEST_OBJECTS=$(filter-out qswiki.o, $(WIKIOBJECTS))
 | |
| 
 | |
| .DEFAULT_GOAL := qswiki
 | |
| 
 | |
| release: CXXFLAGS=$(RELEASE_CXXFLAGS)
 | |
| profile: CXXFLAGS=$(RELEASE_CXXFLAGS) -pg
 | |
| profile: LDFLAGS+= -pg
 | |
| 
 | |
| release: qswiki
 | |
| profile: qswiki
 | |
| 
 | |
| qswiki: $(WIKIOBJECTS)
 | |
| 	$(CXX) $(WIKIOBJECTS) ${LDFLAGS} ${INCLUDEFLAGS}  -o qswiki
 | |
| 
 | |
| test: $(TESTOBJECTS)
 | |
| 	$(CXX) $(TESTOBJECTS) ${LDFLAGS} -o test
 | |
| 
 | |
| gtest: $(GTESTS_TESTDIR)/*.cpp $(GTEST_OBJECTS)
 | |
| 	$(CXX) -o gtest $(GTESTS_TESTDIR)/*.cpp $(GTEST_OBJECTS) $(GTEST_CXXFLAGS) $(GTEST_DIR)/src/gtest_main.cc $(GTEST_DIR)/src/gtest-all.cc $(GTEST_LDFLAGS)
 | |
| 
 | |
| %.o:%.cpp
 | |
| 	$(CXX) ${CXXFLAGS} ${INCLUDEFLAGS} -c -o $@ $<
 | |
| 
 | |
| version.o:version.cpp
 | |
| 	$(CXX) ${CXXFLAGS} ${INCLUDEFLAGS} -DGITCOMMIT=\"$(shell git rev-parse --short HEAD)\" -c -o $@ $<
 | |
| clean:
 | |
| 	rm -f $(OBJECTS) $(DEPENDS)
 | |
| 
 | |
| 
 |