Rev 1088 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1092 | lvd | 1 | # AMD64 = 1 |
2 | # LTO = 1 |
||
1088 | alone | 3 | |
1092 | lvd | 4 | ifdef AMD64 |
5 | PREFIX=x86_64 |
||
6 | else |
||
7 | PREFIX=i686 |
||
8 | endif |
||
1088 | alone | 9 | |
1092 | lvd | 10 | ifdef LTO |
11 | CXX_LTO=-flto |
||
12 | endif |
||
1088 | alone | 13 | |
1092 | lvd | 14 | TOOLPREFIX=$(PREFIX)-w64-mingw32 |
1088 | alone | 15 | |
16 | |||
1092 | lvd | 17 | CXX_COMPILER=$(TOOLPREFIX)-g++ |
1088 | alone | 18 | |
1092 | lvd | 19 | RC=$(TOOLPREFIX)-windres |
20 | CXX=$(CXX_COMPILER) |
||
21 | LNK=$(CXX_COMPILER) |
||
1088 | alone | 22 | |
1092 | lvd | 23 | CFLAGS_COMMON=-D_CRT_SECURE_NO_DEPRECATE -DUSE_SND_EXTERNAL_BUFFER -D_PREFIX_ -DMOD_SSE2 -std=c++14 -Wno-attributes -I. |
1088 | alone | 24 | |
1092 | lvd | 25 | ifdef AMD64 |
26 | ARCH=-march=x86-64 -msse -msse2 -mno-mmx |
||
27 | else |
||
28 | ARCH=-march=pentium-m -msse -msse2 -mno-mmx |
||
29 | endif |
||
1088 | alone | 30 | |
1092 | lvd | 31 | CFLAGS_COMMON+=$(ARCH) |
1088 | alone | 32 | |
1092 | lvd | 33 | CFLAGS_RELEASE=-O3 -static $(CXX_LTO) -fomit-frame-pointer |
34 | LDFLAGS_DEBUG=-O3 $(CXX_LTO) -static $(ARCH) |
||
1088 | alone | 35 | |
1092 | lvd | 36 | CXXFLAGS=$(CFLAGS_COMMON) $(CFLAGS_DEBUG) $(CFLAGS_RELEASE) |
1088 | alone | 37 | |
1092 | lvd | 38 | LDFLAGS=$(LDFLAGS_DEBUG) |
1088 | alone | 39 | |
1092 | lvd | 40 | LIBS=-lws2_32 -lcomctl32 -lcomdlg32 -luser32 -lkernel32 -lgdi32 -lwinmm -ldxguid \ |
41 | -lddraw -ldsound -ldinput -ldxerr9 -lsetupapi -lgcc -lstdc++ -liphlpapi |
||
1088 | alone | 42 | |
1092 | lvd | 43 | # top-level sources |
44 | SRCS=emul.cpp std.cpp atm.cpp cheat.cpp config.cpp dbgbpx.cpp dbgcmd.cpp dbglabls.cpp \ |
||
45 | dbgmem.cpp dbgoth.cpp dbgpaint.cpp dbgreg.cpp dbgrwdlg.cpp dbgtrace.cpp debug_tools.cpp \ |
||
46 | debug.cpp draw.cpp drawnomc.cpp draw_384.cpp dx.cpp dxerr.cpp dxovr.cpp \ |
||
47 | dxrcopy.cpp dxrend.cpp dxrendch.cpp dxrframe.cpp dxr_4bpp.cpp dxr_512.cpp \ |
||
48 | dxr_advm.cpp dxr_atm.cpp dxr_atm0.cpp dxr_atm2.cpp dxr_atm4.cpp dxr_atm6.cpp \ |
||
49 | dxr_atm7.cpp profi.cpp \ |
||
50 | dxr_atmf.cpp dxr_prof.cpp dxr_rsm.cpp dxr_text.cpp dxr_vd.cpp \ |
||
51 | emulkeys.cpp fntsrch.cpp font.cpp font14.cpp font16.cpp \ |
||
52 | font8.cpp fontatm2.cpp fontdata.cpp gs.cpp gshlbass.cpp gshle.cpp \ |
||
53 | gsz80.cpp gui.cpp hdd.cpp hddio.cpp iehelp.cpp init.cpp \ |
||
54 | input.cpp inputpc.cpp io.cpp keydefs.cpp leds.cpp mainloop.cpp \ |
||
55 | memory.cpp modem.cpp opendlg.cpp savesnd.cpp sdcard.cpp snapshot.cpp \ |
||
56 | snd_bass.cpp sound.cpp sshot_png.cpp tape.cpp util.cpp vars.cpp \ |
||
57 | vs1001.cpp wd93cmd.cpp wd93crc.cpp wd93trk.cpp fdd.cpp upd765.cpp \ |
||
58 | wldr_fdi.cpp wldr_isd.cpp wldr_pro.cpp wldr_td0.cpp wldr_trd.cpp wldr_udi.cpp \ |
||
59 | wldr_dsk.cpp wldr_ipf.cpp \ |
||
60 | z80.cpp z80asm.cpp zc.cpp savevid.cpp zxevo.cpp dxr_pentatm7.cpp zxusbnet.cpp \ |
||
61 | midi.cpp |
||
1088 | alone | 62 | |
1092 | lvd | 63 | # sndrender sources |
64 | SRCS+=sndrender/saa1099.cpp sndrender/sndbuffer.cpp sndrender/sndchip.cpp \ |
||
65 | sndrender/sndcounter.cpp sndrender/sndrender.cpp sndrender/emul_2203.cpp |
||
1088 | alone | 66 | |
1092 | lvd | 67 | # z80 sources |
68 | SRCS+=z80/daa_tabs.cpp z80/op_cb.cpp z80/op_dd.cpp z80/op_ddcb.cpp z80/op_ed.cpp \ |
||
69 | z80/op_fd.cpp z80/op_noprefix.cpp z80/tables.cpp |
||
1088 | alone | 70 | |
1092 | lvd | 71 | OBJS=$(SRCS:.cpp=.o) |
72 | NAMES=$(SRCS:.cpp=) |
||
1088 | alone | 73 | |
1092 | lvd | 74 | PCH=std.h.gch |
1088 | alone | 75 | |
1092 | lvd | 76 | ifdef AMD64 |
77 | EXE=x32/emul64.exe |
||
78 | else |
||
79 | EXE=x32/emul.exe |
||
80 | endif |
||
1088 | alone | 81 | |
82 | |||
83 | |||
1092 | lvd | 84 | .PHONY: all clean nodeps |
1088 | alone | 85 | |
1092 | lvd | 86 | nodeps: all |
1088 | alone | 87 | |
1092 | lvd | 88 | all: $(EXE) |
1088 | alone | 89 | |
1092 | lvd | 90 | -include $(NAMES:%=%.d) |
1088 | alone | 91 | |
1092 | lvd | 92 | ifeq (,$(findstring $(MAKECMDGOALS),clean nodeps)) |
93 | %.d: %.cpp |
||
94 | $(CXX) -MM $(CXXFLAGS) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@ |
||
95 | endif |
||
1088 | alone | 96 | |
1092 | lvd | 97 | $(PCH): std.h |
98 | $(CXX) $(CXXFLAGS) -x c++-header std.h |
||
1088 | alone | 99 | |
1092 | lvd | 100 | %.o: %.cpp Makefile $(PCH) |
101 | $(CXX) $(CXXFLAGS) -c -o $@ $< |
||
1088 | alone | 102 | |
103 | |||
1092 | lvd | 104 | %.res: %.rc |
105 | $(RC) -o$@ -i$< |
||
1088 | alone | 106 | |
1092 | lvd | 107 | settings.o: settings.res |
108 | $(RC) -o$@ -i$< |
||
1088 | alone | 109 | |
1092 | lvd | 110 | $(EXE): $(OBJS) settings.o Makefile |
111 | $(LNK) $(LDFLAGS) -o$@ $(OBJS) settings.o $(LIBS) |
||
112 | strip $(EXE) |
||
1088 | alone | 113 | |
1092 | lvd | 114 | clean: |
115 | rm -f *.o *.res *.gch sndrender/*.o z80/*.o |
||
116 | rm -f *.d sndrender/*.d z80/*.d |
||
1088 | alone | 117 |