mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Go: rework makefile
This commit is contained in:
75
go/Makefile
75
go/Makefile
@@ -1,4 +1,4 @@
|
|||||||
all: extractor ql/lib/go.dbscheme
|
all: gen extractor
|
||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
EXE = .exe
|
EXE = .exe
|
||||||
@@ -14,17 +14,11 @@ CODEQL_PLATFORM = osx64
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CODEQL_TOOLS = $(addprefix codeql-tools/,autobuild.cmd autobuild.sh baseline-config-empty.json baseline-config-vendor.json configure-baseline.cmd configure-baseline.sh identify-environment.cmd identify-environment.sh index.cmd index.sh pre-finalize.cmd pre-finalize.sh tracing-config.lua)
|
|
||||||
|
|
||||||
EXTRACTOR_PACK_OUT = build/codeql-extractor-go
|
EXTRACTOR_PACK_OUT = build/codeql-extractor-go
|
||||||
|
|
||||||
BINARIES = go-extractor go-tokenizer go-autobuilder go-build-runner go-bootstrap go-gen-dbscheme
|
.PHONY: extractor gen clean autoformat check-formatting
|
||||||
|
|
||||||
.PHONY: tools tools-codeql tools-codeql-full clean autoformat \
|
|
||||||
tools-linux64 tools-osx64 tools-win64 check-formatting
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf tools/bin tools/linux64 tools/osx64 tools/win64 tools/net tools/opencsv
|
|
||||||
rm -rf $(EXTRACTOR_PACK_OUT) build/stats build/testdb
|
rm -rf $(EXTRACTOR_PACK_OUT) build/stats build/testdb
|
||||||
|
|
||||||
autoformat:
|
autoformat:
|
||||||
@@ -47,66 +41,11 @@ endif
|
|||||||
qhelp-to-markdown:
|
qhelp-to-markdown:
|
||||||
scripts/qhelp-to-markdown.sh ql/src "$(QHELP_OUT_DIR)"
|
scripts/qhelp-to-markdown.sh ql/src "$(QHELP_OUT_DIR)"
|
||||||
|
|
||||||
tools: tools-codeql tools/tokenizer.jar
|
extractor:
|
||||||
|
bazel run :create-extractor-pack
|
||||||
|
|
||||||
.PHONY: $(addsuffix $(EXE),$(addprefix tools/bin/,$(BINARIES)))
|
gen:
|
||||||
$(addsuffix $(EXE),$(addprefix tools/bin/,$(BINARIES))):
|
bazel run :gen
|
||||||
go build -C extractor -mod=vendor -o ../$@ ./cli/$(basename $(@F))
|
|
||||||
|
|
||||||
tools-codeql: tools-$(CODEQL_PLATFORM)
|
|
||||||
|
|
||||||
tools-codeql-full: tools-linux64 tools-osx64 tools-win64
|
|
||||||
|
|
||||||
tools-linux64: $(addprefix tools/linux64/,$(BINARIES))
|
|
||||||
|
|
||||||
.PHONY: $(addprefix tools/linux64/,$(BINARIES))
|
|
||||||
$(addprefix tools/linux64/,$(BINARIES)):
|
|
||||||
GOOS=linux GOARCH=amd64 go build -C extractor -mod=vendor -o ../$@ ./cli/$(@F)
|
|
||||||
|
|
||||||
tools-osx64: $(addprefix tools/osx64/,$(BINARIES))
|
|
||||||
|
|
||||||
.PHONY: $(addprefix tools/osx64/,$(BINARIES))
|
|
||||||
$(addprefix tools/osx64/,$(BINARIES)):
|
|
||||||
GOOS=darwin GOARCH=amd64 go build -C extractor -mod=vendor -o ../$@.amd64 ./cli/$(@F)
|
|
||||||
GOOS=darwin GOARCH=arm64 go build -C extractor -mod=vendor -o ../$@.arm64 ./cli/$(@F)
|
|
||||||
lipo -create $@.amd64 $@.arm64 -output $@
|
|
||||||
rm $@.amd64 $@.arm64
|
|
||||||
|
|
||||||
tools-win64: $(addsuffix .exe,$(addprefix tools/win64/,$(BINARIES)))
|
|
||||||
|
|
||||||
.PHONY: $(addsuffix .exe,$(addprefix tools/win64/,$(BINARIES)))
|
|
||||||
$(addsuffix .exe,$(addprefix tools/win64/,$(BINARIES))):
|
|
||||||
env GOOS=windows GOARCH=amd64 go build -C extractor -mod=vendor -o ../$@ ./cli/$(basename $(@F))
|
|
||||||
|
|
||||||
.PHONY: extractor-common extractor extractor-full
|
|
||||||
extractor-common: codeql-extractor.yml LICENSE ql/lib/go.dbscheme \
|
|
||||||
tools/tokenizer.jar $(CODEQL_TOOLS)
|
|
||||||
rm -rf $(EXTRACTOR_PACK_OUT)
|
|
||||||
mkdir -p $(EXTRACTOR_PACK_OUT)
|
|
||||||
cp codeql-extractor.yml LICENSE ql/lib/go.dbscheme ql/lib/go.dbscheme.stats $(EXTRACTOR_PACK_OUT)
|
|
||||||
mkdir $(EXTRACTOR_PACK_OUT)/tools
|
|
||||||
cp -r tools/tokenizer.jar $(CODEQL_TOOLS) $(EXTRACTOR_PACK_OUT)/tools
|
|
||||||
cp -r downgrades $(EXTRACTOR_PACK_OUT)
|
|
||||||
|
|
||||||
extractor: extractor-common tools-codeql
|
|
||||||
cp -r tools/$(CODEQL_PLATFORM) $(EXTRACTOR_PACK_OUT)/tools
|
|
||||||
|
|
||||||
extractor-full: extractor-common tools-codeql-full
|
|
||||||
cp -r $(addprefix tools/,linux64 osx64 win64) $(EXTRACTOR_PACK_OUT)/tools
|
|
||||||
|
|
||||||
tools/tokenizer.jar: tools/net/sourceforge/pmd/cpd/GoLanguage.class
|
|
||||||
jar cf $@ -C tools net
|
|
||||||
jar uf $@ -C tools opencsv
|
|
||||||
|
|
||||||
tools/net/sourceforge/pmd/cpd/GoLanguage.class: extractor/net/sourceforge/pmd/cpd/GoLanguage.java
|
|
||||||
javac -cp extractor -d tools $<
|
|
||||||
rm tools/net/sourceforge/pmd/cpd/AbstractLanguage.class
|
|
||||||
rm tools/net/sourceforge/pmd/cpd/SourceCode.class
|
|
||||||
rm tools/net/sourceforge/pmd/cpd/TokenEntry.class
|
|
||||||
rm tools/net/sourceforge/pmd/cpd/Tokenizer.class
|
|
||||||
|
|
||||||
ql/lib/go.dbscheme: tools/$(CODEQL_PLATFORM)/go-gen-dbscheme$(EXE)
|
|
||||||
$< $@
|
|
||||||
|
|
||||||
build/stats/src.stamp:
|
build/stats/src.stamp:
|
||||||
mkdir -p $(@D)/src
|
mkdir -p $(@D)/src
|
||||||
@@ -123,7 +62,7 @@ test: all build/testdb/check-upgrade-path
|
|||||||
codeql test run -j0 ql/test --search-path build/codeql-extractor-go --consistency-queries ql/test/consistency --compilation-cache=$(cache)
|
codeql test run -j0 ql/test --search-path build/codeql-extractor-go --consistency-queries ql/test/consistency --compilation-cache=$(cache)
|
||||||
# use GOOS=linux because GOOS=darwin GOARCH=386 is no longer supported
|
# use GOOS=linux because GOOS=darwin GOARCH=386 is no longer supported
|
||||||
env GOOS=linux GOARCH=386 codeql$(EXE) test run -j0 ql/test/query-tests/Security/CWE-681 --search-path build/codeql-extractor-go --consistency-queries ql/test/consistency --compilation-cache=$(cache)
|
env GOOS=linux GOARCH=386 codeql$(EXE) test run -j0 ql/test/query-tests/Security/CWE-681 --search-path build/codeql-extractor-go --consistency-queries ql/test/consistency --compilation-cache=$(cache)
|
||||||
cd extractor; go test -mod=vendor ./...
|
cd extractor; bazel test ...
|
||||||
bash extractor-smoke-test/test.sh || (echo "Extractor smoke test FAILED"; exit 1)
|
bash extractor-smoke-test/test.sh || (echo "Extractor smoke test FAILED"; exit 1)
|
||||||
|
|
||||||
.PHONY: build/testdb/check-upgrade-path
|
.PHONY: build/testdb/check-upgrade-path
|
||||||
|
|||||||
Reference in New Issue
Block a user