summaryrefslogtreecommitdiff
path: root/Makefile.MGW32
blob: 20adca3c0bdbb7c4d5df057f157a0fb040047be8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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

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/*