Skip to content

Commit 2c8b1fa

Browse files
authored
Merge pull request #231 from github/aibaars/makefile
Add makefile
2 parents 2f491a1 + 38f82ff commit 2c8b1fa

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

Makefile

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
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

Comments
 (0)