|
| 1 | +all: extractor dbscheme |
| 2 | + |
| 3 | +ifeq ($(OS),Windows_NT) |
| 4 | +EXE = .exe |
| 5 | +CODEQL_PLATFORM = win64 |
| 6 | +else |
| 7 | +EXE = |
| 8 | +UNAME_S := $(shell uname -s) |
| 9 | +ifeq ($(UNAME_S),Linux) |
| 10 | +CODEQL_PLATFORM = linux64 |
| 11 | +endif |
| 12 | +ifeq ($(UNAME_S),Darwin) |
| 13 | +CODEQL_PLATFORM = osx64 |
| 14 | +endif |
| 15 | +endif |
| 16 | + |
| 17 | +FILES=codeql-extractor.yml\ |
| 18 | + tools/qltest.cmd\ |
| 19 | + tools/index-files.sh\ |
| 20 | + tools/index-files.cmd\ |
| 21 | + tools/autobuild.sh\ |
| 22 | + tools/qltest.sh\ |
| 23 | + tools/autobuild.cmd\ |
| 24 | + ql/src/ruby.dbscheme.stats\ |
| 25 | + ql/src/ruby.dbscheme |
| 26 | + |
| 27 | +BIN_FILES=target/release/ruby-extractor$(EXE) target/release/ruby-autobuilder$(EXE) |
| 28 | + |
| 29 | +extractor-common: |
| 30 | + rm -rf build |
| 31 | + mkdir build |
| 32 | + mkdir build/codeql-extractor-ruby |
| 33 | + cp codeql-extractor.yml ql/src/ruby.dbscheme ql/src/ruby.dbscheme.stats build/codeql-extractor-ruby |
| 34 | + cp -r tools build/codeql-extractor-ruby/ |
| 35 | + |
| 36 | +.PHONY: tools |
| 37 | +tools: $(BIN_FILES) |
| 38 | + rm -rf tools/bin |
| 39 | + mkdir tools/bin |
| 40 | + cp -r target/release/ruby-autobuilder$(EXE) tools/bin/autobuilder$(EXE) |
| 41 | + cp -r target/release/ruby-extractor$(EXE) tools/bin/extractor$(EXE) |
| 42 | + |
| 43 | +target/release/%$(EXE): |
| 44 | + cargo build --release --bin $(basename $(notdir $@)) |
| 45 | + |
| 46 | +dbscheme: |
| 47 | + cargo build --bin ruby-generator |
| 48 | + cargo run -p ruby-generator -- --dbscheme ql/src/ruby.dbscheme --library ql/src/codeql_ruby/ast/internal/TreeSitter.qll |
| 49 | + codeql query format -i ql/src/codeql_ruby/ast/internal/TreeSitter.qll |
| 50 | + |
| 51 | +.PHONY: extractor |
| 52 | +extractor: $(FILES) $(BIN_FILES) |
| 53 | + rm -rf extractor-pack |
| 54 | + mkdir extractor-pack |
| 55 | + mkdir extractor-pack/tools |
| 56 | + mkdir extractor-pack/tools/$(CODEQL_PLATFORM) |
| 57 | + cp codeql-extractor.yml extractor-pack/codeql-extractor.yml |
| 58 | + cp tools/qltest.cmd extractor-pack/tools/qltest.cmd |
| 59 | + cp tools/index-files.sh extractor-pack/tools/index-files.sh |
| 60 | + cp tools/index-files.cmd extractor-pack/tools/index-files.cmd |
| 61 | + cp tools/autobuild.sh extractor-pack/tools/autobuild.sh |
| 62 | + cp tools/qltest.sh extractor-pack/tools/qltest.sh |
| 63 | + cp tools/autobuild.cmd extractor-pack/tools/autobuild.cmd |
| 64 | + cp ql/src/ruby.dbscheme.stats extractor-pack/ruby.dbscheme.stats |
| 65 | + cp ql/src/ruby.dbscheme extractor-pack/ruby.dbscheme |
| 66 | + cp target/release/ruby-extractor$(EXE) extractor-pack/tools/$(CODEQL_PLATFORM)/extractor$(EXE) |
| 67 | + cp target/release/ruby-autobuilder$(EXE) extractor-pack/tools/$(CODEQL_PLATFORM)/autobuilder$(EXE) |
0 commit comments