From 183e0c969a76686909306820e0756b290f0aee72 Mon Sep 17 00:00:00 2001 From: Hamish Coleman Date: Sun, 2 Jul 2023 18:03:27 +0100 Subject: [PATCH] Hack around the "helpful" exe file suffix If there is a way to turn off the mingw insistence that it will rewrite the filename it was given in the "-o" options, I have not been able to find it. I could easily handle all the moves or renames at the end of the build process if I could turn off this feature. Especially since it means that make often thinks that the file has not been built (the filename that make knows about is not the file that actually gets built by the mingw gcc, so the if-newer tests that make applies will always fail) --- Makefile | 12 +++++++++--- tools/Makefile | 15 +++++++++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 628b8fc..0d14421 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,7 @@ export EXE export CFLAGS export LDFLAGS export LDLIBS +export CONFIG_HOST_OS -include config.mak @@ -208,6 +209,11 @@ src/example_edge_embed: $(N2N_LIB) ifneq (,$(findstring mingw,$(CONFIG_HOST_OS))) src/edge: win32/edge_rc.o +src/edge.exe: src/edge +src/supernode.exe: src/supernode +src/example_edge_embed_quick_edge_init.exe: src/example_edge_embed_quick_edge_init +src/example_sn_embed.exe: src/example_sn_embed +src/example_edge_embed.exe: src/example_edge_embed endif %: src/% @@ -300,11 +306,11 @@ distclean: rm -f $(addprefix src/,$(APPS)) .PHONY: install -install: edge supernode edge.8.gz supernode.1.gz n2n.7.gz +install: edge$(EXE) supernode$(EXE) edge.8.gz supernode.1.gz n2n.7.gz echo "MANDIR=$(MANDIR)" $(MKDIR) $(SBINDIR) $(MAN1DIR) $(MAN7DIR) $(MAN8DIR) - $(INSTALL_PROG) supernode $(SBINDIR)/ - $(INSTALL_PROG) edge $(SBINDIR)/ + $(INSTALL_PROG) supernode$(EXE) $(SBINDIR)/ + $(INSTALL_PROG) edge$(EXE) $(SBINDIR)/ $(INSTALL_DOC) edge.8.gz $(MAN8DIR)/ $(INSTALL_DOC) supernode.1.gz $(MAN1DIR)/ $(INSTALL_DOC) n2n.7.gz $(MAN7DIR)/ diff --git a/tools/Makefile b/tools/Makefile index 96b6695..08c4a7e 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -37,9 +37,20 @@ n2n-route.o: $(N2N_LIB) $(HEADERS) ../config.mak n2n-portfwd.o: $(N2N_LIB) $(HEADERS) ../config.mak n2n-decode.o: $(N2N_LIB) $(HEADERS) ../config.mak +ifneq (,$(findstring mingw,$(CONFIG_HOST_OS))) # HACK for windows. -%.exe: % - cp $< $@ +n2n-benchmark.exe: n2n-benchmark +n2n-keygen.exe: n2n-keygen +n2n-route.exe: n2n-route +n2n-portfwd.exe: n2n-portfwd +n2n-decode.exe: n2n-decode +tests-compress.exe: tests-compress +tests-elliptic.exe: tests-elliptic +tests-hashing.exe: tests-hashing +tests-transform.exe: tests-transform +tests-wire.exe: tests-wire +tests-auth.exe: tests-auth +endif # See comments in the topdir Makefile about how to generate coverage # data.