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) LDFLAGS = $(WXLDFLAGS) -Wl,-subsystem,windows -mwindows 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 $(LDFLAGS) 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/*