mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-10-13 03:37:12 +02:00
fix(make): detect cmd.exe shell for native Windows ABE builds (#642)
* fix(make): detect cmd.exe shell for native Windows ABE builds * Fix build command syntax in Makefile for Windows
This commit is contained in:
1 parent
0503d04d7a
commit
3b83bc7e3a
2 files changed
+21
-5
No files matched your search
@@ -8,10 +8,13 @@ include crypto/windows/abe_native/Makefile.frag
|
|||||||
build:
|
build:
|
||||||
$(GO) build -o $(GOEXE) ./cmd/hack-browser-data
|
$(GO) build -o $(GOEXE) ./cmd/hack-browser-data
|
||||||
|
|
||||||
|
# Make sets these in the recipe environment on both POSIX and native Windows
|
||||||
|
# GNU Make, so we do not need a cmd.exe vs sh branch for build-windows.
|
||||||
|
build-windows: export GOOS := windows
|
||||||
|
build-windows: export GOARCH := amd64
|
||||||
|
build-windows: export CGO_ENABLED := 0
|
||||||
build-windows: $(ABE_BIN)
|
build-windows: $(ABE_BIN)
|
||||||
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 \
|
$(GO) build -tags abe_embed -trimpath -ldflags="-s -w" -o $(GOEXE).exe ./cmd/hack-browser-data
|
||||||
$(GO) build -tags abe_embed -trimpath -ldflags="-s -w" \
|
|
||||||
-o $(GOEXE).exe ./cmd/hack-browser-data
|
|
||||||
|
|
||||||
clean: payload-clean
|
clean: payload-clean
|
||||||
rm -f $(GOEXE) $(GOEXE).exe
|
rm -f $(GOEXE) $(GOEXE).exe
|
||||||
@@ -20,11 +20,24 @@ ABE_HDRS = $(ABE_SRC_DIR)/com_iid.h \
|
|||||||
$(ABE_SRC_DIR)/bootstrap.h \
|
$(ABE_SRC_DIR)/bootstrap.h \
|
||||||
$(ABE_SRC_DIR)/bootstrap_layout.h
|
$(ABE_SRC_DIR)/bootstrap_layout.h
|
||||||
|
|
||||||
|
# Detect cmd.exe vs POSIX sh. OS=Windows_NT is set under MSYS2/Git Bash too,
|
||||||
|
# but those use sh — so shell detection is what matters for recipe syntax.
|
||||||
|
# cmd echoes the quotes back; POSIX sh strips them.
|
||||||
|
ifeq ($(shell echo "x"),"x")
|
||||||
|
WIN_CMD_SHELL := 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef WIN_CMD_SHELL
|
||||||
|
ABE_REPORT_CMD = for %%I in ("$@") do @echo built $@ (%%~zI bytes)
|
||||||
|
else
|
||||||
|
ABE_REPORT_CMD = printf "built %s (%s bytes)\n" "$@" "$$(wc -c < $@ | tr -d ' ')"
|
||||||
|
endif
|
||||||
|
|
||||||
|
# crypto/windows/payload/ is tracked in git, so no mkdir is required.
|
||||||
$(ABE_BIN): $(ABE_C_SRCS) $(ABE_HDRS)
|
$(ABE_BIN): $(ABE_C_SRCS) $(ABE_HDRS)
|
||||||
@mkdir -p $(ABE_BIN_DIR)
|
|
||||||
$(ZIG) cc -target $(ABE_TARGET) $(ABE_CFLAGS) $(ABE_LDFLAGS) \
|
$(ZIG) cc -target $(ABE_TARGET) $(ABE_CFLAGS) $(ABE_LDFLAGS) \
|
||||||
$(ABE_C_SRCS) -o $@ $(ABE_LDLIBS)
|
$(ABE_C_SRCS) -o $@ $(ABE_LDLIBS)
|
||||||
@printf "built %s (%s bytes)\n" "$@" "$$(wc -c < $@ | tr -d ' ')"
|
@$(ABE_REPORT_CMD)
|
||||||
|
|
||||||
.PHONY: payload payload-verify payload-clean
|
.PHONY: payload payload-verify payload-clean
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user