golang.zx2c4.com/wireguard/windows@v0.5.4-0.20230123132234-dcc0eb72a04b/installer/fetcher/Makefile (about) 1 # SPDX-License-Identifier: GPL-2.0 2 # 3 # Copyright (C) 2015-2022 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. 4 5 CFLAGS ?= -Os 6 DEPLOYMENT_HOST ?= winvm 7 DEPLOYMENT_PATH ?= Desktop 8 9 CFLAGS += -std=gnu11 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -flto 10 CFLAGS += -Wall -Wextra 11 CFLAGS += -MMD -MP 12 LDLIBS += -lkernel32 -lwinhttp -lntdll -lshlwapi -lmsi -lcomctl32 -luser32 -lshell32 -lwintrust -lbcrypt 13 LDFLAGS += -s -flto -Wl,--dynamicbase -Wl,--nxcompat -Wl,--tsaware -mwindows 14 LDFLAGS += -Wl,--major-os-version=6 -Wl,--minor-os-version=1 -Wl,--major-subsystem-version=6 -Wl,--minor-subsystem-version=1 15 # The use of -Wl,/delayload: here implies we're using llvm-mingw 16 LDFLAGS += -Wl,/delayload:winhttp.dll -Wl,/delayload:msi.dll -Wl,/delayload:wintrust.dll -Wl,/delayload:advapi32.dll -Wl,/delayload:shell32.dll -Wl,/delayload:shlwapi.dll -Wl,/delayload:gdi32.dll -Wl,/delayload:user32.dll -Wl,/delayload:comctl32.dll -Wl,/delayload:bcrypt.dll 17 TARGET := wireguard-installer.exe 18 CC := i686-w64-mingw32-clang 19 WINDRES := i686-w64-mingw32-windres 20 21 $(TARGET): $(sort $(patsubst %.c,%.o,$(wildcard *.c))) resources.o 22 $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@ 23 24 %.ico: %.svg 25 convert -background none $< -define icon:auto-resize="64,32,16" -compress zip $@ 26 27 resources.o: resources.rc icon.ico manifest.xml 28 $(WINDRES) -O coff -c 65001 -i $< -o $@ 29 30 clean: 31 $(RM) $(TARGET) *.o *.d *.ico 32 33 deploy: $(TARGET) 34 scp $< $(DEPLOYMENT_HOST):$(DEPLOYMENT_PATH) 35 36 sign: deploy 37 ssh $(DEPLOYMENT_HOST) '"C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe"' sign /sha1 $(SIGNING_CERTIFICATE) /fd sha256 /tr $(TIMESTAMP_SERVER) /td sha256 /d '"WireGuard Installer"' '$(DEPLOYMENT_PATH)\$(TARGET)' 38 scp -T '$(DEPLOYMENT_HOST):$(DEPLOYMENT_PATH)\$(TARGET)' . 39 40 .PHONY: clean deploy sign 41 42 -include *.d