diff options
author | bloodstalker <thabogre@gmail.com> | 2018-12-20 00:24:59 +0000 |
---|---|---|
committer | bloodstalker <thabogre@gmail.com> | 2018-12-20 00:24:59 +0000 |
commit | fa27c01c8666cb24821a0af3c58d6a23f8c54726 (patch) | |
tree | f3487fc8bd422932f42d0ec13dc9748ee8788608 | |
parent | travis badge (diff) | |
download | cgrep-fa27c01c8666cb24821a0af3c58d6a23f8c54726.tar.gz cgrep-fa27c01c8666cb24821a0af3c58d6a23f8c54726.zip |
build uses pch now. kinda cool but our build time bottleneck seems to be linking
-rw-r--r-- | cgrep.cpp | 24 | ||||
-rw-r--r-- | makefile | 15 | ||||
-rw-r--r-- | pch.hpp | 20 |
3 files changed, 31 insertions, 28 deletions
@@ -7,30 +7,8 @@ * */ /*************************************************************************************************/ /*included modules*/ -/*project headers*/ +#include "./pch.hpp" #include "./cfe-extra/cfe_extra.h" -/*standard headers*/ -#include <cassert> -#include <cstdlib> -#include <dirent.h> -#include <fstream> -#include <iostream> -#include <regex> -#include <string> -#include <vector> -/*LLVM headers*/ -#include "clang/AST/AST.h" -#include "clang/AST/ASTConsumer.h" -#include "clang/ASTMatchers/ASTMatchFinder.h" -#include "clang/ASTMatchers/ASTMatchers.h" -#include "clang/Basic/LLVM.h" -#include "clang/Frontend/CompilerInstance.h" -#include "clang/Frontend/FrontendActions.h" -#include "clang/Lex/Lexer.h" -#include "clang/Rewrite/Core/Rewriter.h" -#include "clang/Tooling/CommonOptionsParser.h" -#include "clang/Tooling/Tooling.h" -#include "llvm/Support/raw_ostream.h" /*************************************************************************************************/ /*used namespaces*/ using namespace llvm; @@ -28,7 +28,8 @@ LLVM_CONF?=llvm-config LLVM_CXX_FLAGS=$(shell $(LLVM_CONF) --cxxflags) LLVM_CXX_FLAGS+=-I$(shell $(LLVM_CONF) --src-root)/tools/clang/include\ -I$(shell $(LLVM_CONF) --obj-root)/tools/clang/include\ - -stdlib=libstdc++ -std=c++17 -fexceptions + -std=c++17 -fexceptions +#LLVM_LD_FLAGS=-Wl,--start-group $(shell $(LLVM_CONF) --libs) -Wl, --end-group LLVM_LD_FLAGS=-Wl,--start-group -lclangAST -lclangAnalysis -lclangBasic\ -lclangDriver -lclangEdit -lclangFrontend -lclangFrontendTool\ -lclangLex -lclangParse -lclangSema -lclangEdit -lclangASTMatchers\ @@ -75,7 +76,7 @@ LD_FLAGS+=$(EXTRA_LD_FLAGS) .PHONY:all clean help ASM SO TAGS -all:$(TARGET) +all: pch.hpp.gch $(TARGET) everything:$(TARGET) A ASM SO $(TARGET)-dbg TAGS $(TARGET)-cov @@ -89,8 +90,8 @@ depend:.depend -include ./.depend -.cpp.o: - $(CXX) $(CXX_FLAGS) -c $< -o $@ +%.o:%.cpp + $(CXX) -include-pch pch.hpp.gch $(CXX_FLAGS) -c $< -o $@ %.odbg:%.cpp $(CXX) $(CXX_FLAGS) -g -c $< -o $@ @@ -98,6 +99,9 @@ depend:.depend %.ocov:%.cpp $(CXX) $(CXX_FLAGS) $(COV_CXX) -c $< -o $@ +pch.hpp.gch: pch.hpp + $(CXX) $(CXX_FLAGS) -c $< -o $@ + ./cfe-extra/cfe_extra.o:./cfe-extra/cfe_extra.cpp $(CXX) $(CXX_FLAGS) -c $< -o $@ @@ -162,12 +166,13 @@ format: - clang-format -i $(SRCS) $(HDRS) clean: - rm -f *.o *.dis *.odbg *.ocov *~ $(TARGET) $(TARGET).so $(TARGET)-static $(TARGET)-dbg $(TARGET).a $(TARGET)-cov ./keccak-tiny/*.o ./keccak-tiny/*.ocov ./keccak-tiny/*.odbg + rm -f *.o *.dis *.odbg *.ocov *~ $(TARGET) $(TARGET).so $(TARGET)-static $(TARGET)-dbg $(TARGET).a $(TARGET)-cov deepclean: clean - rm tags - rm .depend - $(MAKE) -C ./cfe-extra clean + - rm *.gch help: @echo "--all is the default target, runs $(TARGET) target" @@ -0,0 +1,20 @@ +#include <cassert> +#include <cstdlib> +#include <dirent.h> +#include <fstream> +#include <iostream> +#include <regex> +#include <string> +#include <vector> +#include "clang/AST/AST.h" +#include "clang/AST/ASTConsumer.h" +#include "clang/ASTMatchers/ASTMatchFinder.h" +#include "clang/ASTMatchers/ASTMatchers.h" +#include "clang/Basic/LLVM.h" +#include "clang/Frontend/CompilerInstance.h" +#include "clang/Frontend/FrontendActions.h" +#include "clang/Lex/Lexer.h" +#include "clang/Rewrite/Core/Rewriter.h" +#include "clang/Tooling/CommonOptionsParser.h" +#include "clang/Tooling/Tooling.h" +#include "llvm/Support/raw_ostream.h" |