Added sh build script for the Tup-less.

This commit is contained in:
2019-10-20 15:00:16 +01:00
parent 9354426c6a
commit a8c578df8e

22
generator/build.sh Executable file
View File

@@ -0,0 +1,22 @@
#! /bin/sh -e
mkdir -p "generated"
bison -b "generated/parser" "src/parser.yy"
flex -o "generated/lexer.yy.cc" "src/lexer.ll"
ld --relocatable --format=binary --output="generated/template-ArgGrammarDriver.cpp.data" "templates/ArgGrammarDriver.cpp"
ld --relocatable --format=binary --output="generated/template-ArgGrammarDriver.hpp.data" "templates/ArgGrammarDriver.hpp"
ld --relocatable --format=binary --output="generated/template-ArgGrammarParser.yy.data" "templates/ArgGrammarParser.yy"
ld --relocatable --format=binary --output="generated/template-ArgGrammarScanner.cpp.data" "templates/ArgGrammarScanner.cpp"
ld --relocatable --format=binary --output="generated/template-ArgGrammarScanner.hpp.data" "templates/ArgGrammarScanner.hpp"
ld --relocatable --format=binary --output="generated/template-ArgGrammarScanner.ll.data" "templates/ArgGrammarScanner.ll"
objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents "generated/template-ArgGrammarDriver.cpp.data" "build/template-ArgGrammarDriver.cpp.o"
objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents "generated/template-ArgGrammarDriver.hpp.data" "build/template-ArgGrammarDriver.hpp.o"
objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents "generated/template-ArgGrammarParser.yy.data" "build/template-ArgGrammarParser.yy.o"
objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents "generated/template-ArgGrammarScanner.cpp.data" "build/template-ArgGrammarScanner.cpp.o"
objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents "generated/template-ArgGrammarScanner.hpp.data" "build/template-ArgGrammarScanner.hpp.o"
objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents "generated/template-ArgGrammarScanner.ll.data" "build/template-ArgGrammarScanner.ll.o"
g++ -pedantic -std=c++17 -Wall -Wno-unused-parameter -Wno-reorder -Wno-sign-compare -Wno-address -Wno-noexcept-type -Wno-unknown-attributes -Wno-unknown-warning-option -I "src" -I "generated" -c "generated/lexer.yy.cc" -o "build/lexer.yy.o"
g++ -pedantic -std=c++17 -Wall -Wno-unused-parameter -Wno-reorder -Wno-sign-compare -Wno-address -Wno-noexcept-type -Wno-unknown-attributes -Wno-unknown-warning-option -I "src" -I "generated" -c "generated/parser.tab.cc" -o "build/parser.tab.o"
g++ -pedantic -std=c++17 -Wall -Wno-unused-parameter -Wno-reorder -Wno-sign-compare -Wno-address -Wno-noexcept-type -Wno-unknown-attributes -Wno-unknown-warning-option -I "src" -I "generated" -c "src/argument.cpp" -o "build/argument.o"
g++ -pedantic -std=c++17 -Wall -Wno-unused-parameter -Wno-reorder -Wno-sign-compare -Wno-address -Wno-noexcept-type -Wno-unknown-attributes -Wno-unknown-warning-option -I "src" -I "generated" -c "src/driver.cpp" -o "build/driver.o"
g++ -pedantic -std=c++17 -Wall -Wno-unused-parameter -Wno-reorder -Wno-sign-compare -Wno-address -Wno-noexcept-type -Wno-unknown-attributes -Wno-unknown-warning-option -I "src" -I "generated" -c "src/main.cpp" -o "build/main.o"
g++ build/argument.o build/driver.o build/lexer.yy.o build/main.o build/parser.tab.o build/template-ArgGrammarDriver.cpp.o build/template-ArgGrammarDriver.hpp.o build/template-ArgGrammarParser.yy.o build/template-ArgGrammarScanner.cpp.o build/template-ArgGrammarScanner.hpp.o build/template-ArgGrammarScanner.ll.o -lmstch -o "fcap"