From 8283f4cd76f6eb55dfc424eb63483bcd16ad7f5c Mon Sep 17 00:00:00 2001 From: bol-van Date: Thu, 29 Oct 2026 15:55:59 +0300 Subject: [PATCH] update makefiles --- ip2net/Makefile | 16 +++++++++------- mdig/Makefile | 20 +++++++++++--------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/ip2net/Makefile b/ip2net/Makefile index a172533..0dc6346 100644 --- a/ip2net/Makefile +++ b/ip2net/Makefile @@ -1,11 +1,10 @@ CC ?= cc OPTIMIZE ?= -Os CFLAGS_PIC = -fPIC -CFLAGS += -std=gnu99 $(OPTIMIZE) -flto=auto $(CFLAGS_PIC) +CFLAGS += -std=gnu99 $(OPTIMIZE) CFLAGS_BSD = -Wno-address-of-packed-member CFLAGS_WIN = -static LDFLAGS_PIE = -pie -LDFLAGS += $(LDFLAGS_PIE) LIBS = LIBS_WIN = -lws2_32 @@ -14,24 +13,27 @@ SRC_FILES = ip2net.c qsort.c all: ip2net ip2net: $(SRC_FILES) - $(CC) -s $(CFLAGS) -o ip2net $(SRC_FILES) $(LIBS) $(LDFLAGS) + $(CC) -s $(CFLAGS) $(CFLAGS_PIC) -o ip2net $(SRC_FILES) $(LIBS) $(LDFLAGS) $(LDFLAGS_PIE) systemd: ip2net android: ip2net bsd: $(SRC_FILES) - $(CC) -s $(CFLAGS) $(CFLAGS_BSD) -o ip2net $(SRC_FILES) $(LIBS) $(LDFLAGS) + $(CC) -s $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_BSD) -o ip2net $(SRC_FILES) $(LIBS) $(LDFLAGS) $(LDFLAGS_PIE) mac: $(SRC_FILES) - $(CC) $(CFLAGS) $(CFLAGS_BSD) -o ip2neta $(SRC_FILES) -target arm64-apple-macos10.8 $(LIBS) $(LDFLAGS) - $(CC) $(CFLAGS) $(CFLAGS_BSD) -o ip2netx $(SRC_FILES) -target x86_64-apple-macos10.8 $(LIBS) $(LDFLAGS) + $(CC) $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_BSD) -o ip2neta $(SRC_FILES) -target arm64-apple-macos10.8 $(LIBS) $(LDFLAGS) $(LDFLAGS_PIE) + $(CC) $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_BSD) -o ip2netx $(SRC_FILES) -target x86_64-apple-macos10.8 $(LIBS) $(LDFLAGS) $(LDFLAGS_PIE) strip ip2neta ip2netx lipo -create -output ip2net ip2netx ip2neta rm -f ip2netx ip2neta win: $(SRC_FILES) - $(CC) -s $(CFLAGS) $(CFLAGS_WIN) -o ip2net $(SRC_FILES) $(LIBS_WIN) $(LDFLAGS) + $(CC) -s $(CFLAGS) $(CFLAGS_WIN) -o ip2net.exe $(SRC_FILES) $(LIBS_WIN) $(LDFLAGS) + +win-arm64-cross: + clang -s $(CFLAGS) $(CFLAGS_WIN) --sysroot=/clangarm64 --target=aarch64-w64-mingw32 -B/clang64/bin -rtlib=compiler-rt -o mdig.exe $(SRC_FILES) $(LIBS_WIN) $(LDFLAGS) clean: rm -f ip2net *.o diff --git a/mdig/Makefile b/mdig/Makefile index 8172d22..81bcc19 100644 --- a/mdig/Makefile +++ b/mdig/Makefile @@ -1,38 +1,40 @@ CC ?= cc OPTIMIZE ?= -Os CFLAGS_PIC = -fPIC -CFLAGS += -std=gnu99 $(OPTIMIZE) $(CFLAGS_PIC) +CFLAGS += -std=gnu99 $(OPTIMIZE) CFLAGS_BSD = -Wno-address-of-packed-member CFLAGS_WIN = -static LDFLAGS_PIE = -pie -LDFLAGS += $(LDFLAGS_PIE) LIBS = -lpthread LIBS_ANDROID = -LIBS_WIN = -lws2_32 +LIBS_WIN = -lws2_32 -lpthread SRC_FILES = *.c all: mdig mdig: $(SRC_FILES) - $(CC) -s $(CFLAGS) -o mdig $(SRC_FILES) $(LIBS) $(LDFLAGS) + $(CC) -s $(CFLAGS) $(CFLAGS_PIC) -o mdig $(SRC_FILES) $(LIBS) $(LDFLAGS) $(LDFLAGS_PIE) systemd: mdig android: $(SRC_FILES) - $(CC) -s $(CFLAGS) -o mdig $(SRC_FILES) $(LIBS_ANDROID) $(LDFLAGS) + $(CC) -s $(CFLAGS) $(CFLAGS_PIC) -o mdig $(SRC_FILES) $(LIBS_ANDROID) $(LDFLAGS) $(LDFLAGS_PIE) bsd: $(SRC_FILES) - $(CC) -s $(CFLAGS) $(CFLAGS_BSD) -o mdig $(SRC_FILES) $(LIBS) $(LDFLAGS) + $(CC) -s $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_BSD) -o mdig $(SRC_FILES) $(LIBS) $(LDFLAGS) $(LDFLAGS_PIE) mac: $(SRC_FILES) - $(CC) $(CFLAGS) $(CFLAGS_BSD) -o mdiga $(SRC_FILES) -target arm64-apple-macos10.8 $(LIBS_BSD) $(LDFLAGS) - $(CC) $(CFLAGS) $(CFLAGS_BSD) -o mdigx $(SRC_FILES) -target x86_64-apple-macos10.8 $(LIBS_BSD) $(LDFLAGS) + $(CC) $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_BSD) -o mdiga $(SRC_FILES) -target arm64-apple-macos10.8 $(LIBS_BSD) $(LDFLAGS) $(LDFLAGS_PIE) + $(CC) $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_BSD) -o mdigx $(SRC_FILES) -target x86_64-apple-macos10.8 $(LIBS_BSD) $(LDFLAGS) $(LDFLAGS_PIE) strip mdiga mdigx lipo -create -output mdig mdigx mdiga rm -f mdigx mdiga win: $(SRC_FILES) - $(CC) -s $(CFLAGS) $(CFLAGS_WIN) -o mdig $(SRC_FILES) $(LIBS_WIN) $(LDFLAGS) + $(CC) -s $(CFLAGS) $(CFLAGS_WIN) -o mdig.exe $(SRC_FILES) $(LIBS_WIN) $(LDFLAGS) + +win-arm64-cross: + clang -s $(CFLAGS) $(CFLAGS_WIN) --sysroot=/clangarm64 --target=aarch64-w64-mingw32 -B/clang64/bin -rtlib=compiler-rt -o mdig.exe $(SRC_FILES) $(LIBS_WIN) $(LDFLAGS) clean: rm -f mdig *.o