summaryrefslogtreecommitdiff
path: root/Makefile.MGW32
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.MGW32')
-rw-r--r--Makefile.MGW3240
1 files changed, 40 insertions, 0 deletions
diff --git a/Makefile.MGW32 b/Makefile.MGW32
new file mode 100644
index 0000000..496b117
--- /dev/null
+++ b/Makefile.MGW32
@@ -0,0 +1,40 @@
+CXX = x86_64-w64-mingw32-c++
+AR = x86_64-w64-mingw32-ar
+CXX_LDD = x86_64-w64-mingw32-ld
+LDD = x86_64-w64-mingw32-ld
+
+WXINCLUDES = -Iwxmsw/include/x86_64-w64-mingw32-msw-unicode-3.2 -Iwxmsw/include
+WXCXXFLAGS = -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMSW__ -pthread $(WXINCLUDES)
+
+CXXFLAGS = -static -std=c++11 -lwinpthread -I. -I/usr/lib/gcc/x86_64-w64-mingw32/12-win32/include $(WXCXXFLAGS)
+
+WIN32_DLL_DIR = win32_dlls
+
+MGWLIBS = $(wildcard $(WIN32_DLL_DIR)/libgcc*.dll) $(wildcard $(WIN32_DLL_DIR)/libstd*.dll)
+
+WXLIBS = $(wildcard $(WIN32_DLL_DIR)/wx*.dll)
+WXLDFLAGS = $(addprefix -l, $(basename $(WXLIBS)))
+
+SSLLIBS = $(wildcard $(WIN32_DLL_DIR)/libcrypto*.dll)
+SSLLDFLAGS = $(addprefix -l, $(basename $(SSLLIBS)))
+
+LDFLAGS = -L. -Wl,-Bdynamic $(WXLDFLAGS) $(SSLLDFLAGS)
+
+OUT = totpgen
+OBJS = wxgui.o crypto.o
+
+all: $(OUT)
+
+$(OUT): $(OBJS)
+ $(CXX) $(OBJS) -o $(OUT) $(LDFLAGS)
+ mkdir -p release && cp -r $(OUT).exe $(MGWLIBS) $(WXLIBS) $(SSLLIBS) release
+
+crypto.o: crypto.cpp
+ $(CXX) $(CXXFLAGS) -c crypto.cpp -o crypto.o
+
+wxgui.o: wxgui.cpp
+ $(CXX) $(CXXFLAGS) -c wxgui.cpp -o wxgui.o
+
+.PHONY: clean
+clean:
+ rm -f *.o *.a */*.o */*.a $(OUT).exe release/*