summaryrefslogtreecommitdiff
path: root/Makefile.MGW32
diff options
context:
space:
mode:
authorWalker Thompson <walker.thompson@urz.uni-heidelberg.de>2025-12-18 14:12:35 +0000
committerWalker Thompson <walker.thompson@urz.uni-heidelberg.de>2025-12-18 14:12:35 +0000
commita2d7ebcdc396fcaa505251dd1625df34fdd00771 (patch)
tree40b380b08963df35c2cbf37ccf7ccab1216552b1 /Makefile.MGW32
Initial commit
Diffstat (limited to 'Makefile.MGW32')
-rw-r--r--Makefile.MGW3238
1 files changed, 38 insertions, 0 deletions
diff --git a/Makefile.MGW32 b/Makefile.MGW32
new file mode 100644
index 0000000..cd63e59
--- /dev/null
+++ b/Makefile.MGW32
@@ -0,0 +1,38 @@
+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
+
+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 = -L. -Wl,-Bdynamic $(addprefix -l, $(basename $(WXLIBS)))
+
+WXINCLUDES = -Iwxmsw/include/x86_64-w64-mingw32-msw-unicode-3.2 -Iwxmsw/include
+WXFLAGS = -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMSW__ -pthread $(WXINCLUDES)
+CXXFLAGS = -static -std=c++11 -lwinpthread -I/usr/lib/gcc/x86_64-w64-mingw32/12-win32/include $(WXFLAGS)
+
+OUT = transcode
+
+all: $(OUT)
+$(OUT): funcs.o wxgui.o pugixml/libpugixml.a
+ $(CXX) $(CXXFLAGS) funcs.o wxgui.o -L. -l:pugixml/libpugixml.a -o $(OUT).exe $(WXLDFLAGS)
+ mkdir -p release && cp -r $(OUT).exe $(MGWLIBS) $(WXLIBS) release
+
+pugixml/libpugixml.a: pugixml/pugixml.o
+ $(AR) rcs $@ $^
+
+funcs.o: funcs.cpp
+ $(CXX) $(CXXFLAGS) $(WXCXXFLAGS) -c funcs.cpp -o funcs.o
+
+wxgui.o: wxgui.cpp
+ $(CXX) $(CXXFLAGS) $(WXCXXFLAGS) -c wxgui.cpp -o wxgui.o
+
+pugixml/pugixml.o: pugixml/pugixml.cpp
+ $(CXX) $(CXXFLAGS) -c pugixml/pugixml.cpp -o pugixml/pugixml.o
+
+.PHONY: clean
+clean:
+ rm -f *.o *.a */*.o */*.a $(OUT).exe release/*