Mercurial > repos > blastem
comparison Makefile @ 803:236a184bf6f0
Merge
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 26 Jul 2015 16:51:03 -0700 |
parents | 6811f601008f 0b692b5d154b |
children | 3eced113081c |
comparison
equal
deleted
inserted
replaced
802:6811f601008f | 803:236a184bf6f0 |
---|---|
1 | 1 ifndef OS |
2 ifdef WINDOWS | 2 OS:=$(shell uname -s) |
3 endif | |
4 | |
5 ifeq ($(OS),Windows) | |
6 ifndef SDL2_PREFIX | |
7 SDL2_PREFIX:="C:/MinGW/usr" | |
8 endif | |
9 ifndef GLEW32S_LIB | |
10 GLEW32S_LIB=glew32s.lib | |
11 endif | |
3 | 12 |
4 MEM:=mem_win.o | 13 MEM:=mem_win.o |
14 TERMINAL:=terminal_win.o | |
5 BLASTEM:=blastem.exe | 15 BLASTEM:=blastem.exe |
6 RUNTIME32:=runtime_win.S | |
7 | |
8 CC:=wine gcc.exe | 16 CC:=wine gcc.exe |
9 CFLAGS:=-O2 -std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"C:/MinGW/usr/include/SDL" -DGLEW_STATIC | 17 CFLAGS:=-O2 -std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"$(SDL2_PREFIX)/include/SDL2" -DGLEW_STATIC |
10 LDFLAGS:= -L"C:/MinGW/usr/lib" -lm -lmingw32 -lSDLmain -lSDL -lws2_32 | 18 LDFLAGS:= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lm -lmingw32 -lSDL2main -lSDL2 -lws2_32 -lopengl32 -lglu32 -mwindows |
11 ifndef NOGL | |
12 LDFLAGS+= -lopengl32 -lglu32 | |
13 endif | |
14 LDFLAGS+= -mwindows | |
15 CPU:=i686 | 19 CPU:=i686 |
16 | 20 |
17 else | 21 else |
18 | 22 |
19 MEM:=mem.o | 23 MEM:=mem.o |
24 TERMINAL:=terminal.o | |
20 BLASTEM:=blastem | 25 BLASTEM:=blastem |
21 RUNTIME32:=runtime_32.S | 26 |
22 | 27 ifeq ($(OS),Darwin) |
23 ifdef NOGL | 28 LIBS=sdl2 glew |
24 LIBS=sdl | 29 else |
25 else | 30 LIBS=sdl2 glew gl |
26 LIBS=sdl glew gl | 31 endif #Darwin |
27 endif | 32 |
33 HAS_PROC:=$(shell if [ -d /proc ]; then /bin/echo -e -DHAS_PROC; fi) | |
34 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value -Wno-logical-op-parentheses $(HAS_PROC) | |
35 FIXUP:= | |
36 ifdef PORTABLE | |
37 CFLAGS+= -DGLEW_STATIC -Iglew/include | |
38 LDFLAGS:=-lm glew/lib/libGLEW.a | |
39 | |
40 ifeq ($(OS),Darwin) | |
41 CFLAGS+= -IFrameworks/SDL2.framework/Headers | |
42 LDFLAGS+= -FFrameworks -framework SDL2 -framework OpenGL | |
43 FIXUP:=install_name_tool -change @rpath/SDL2.framework/Versions/A/SDL2 @executable_path/Frameworks/SDL2.framework/Versions/A/SDL2 ./blastem | |
44 else | |
45 CFLAGS+= -Isdl/include | |
46 LDFLAGS+= -Wl,-rpath='$$ORIGIN/lib' -Llib -lSDL2 $(shell pkg-config --libs gl) | |
47 endif #Darwin | |
48 | |
49 else | |
50 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) | |
51 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) | |
52 | |
53 ifeq ($(OS),Darwin) | |
54 LDFLAGS+= -framework OpenGL | |
55 endif | |
56 | |
57 endif #PORTABLE | |
58 | |
28 ifdef DEBUG | 59 ifdef DEBUG |
29 CFLAGS:=-ggdb -std=gnu99 $(shell pkg-config --cflags-only-I $(LIBS)) -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration | 60 CFLAGS:=-ggdb $(CFLAGS) |
30 LDFLAGS:=-ggdb -lm $(shell pkg-config --libs $(LIBS)) | 61 LDFLAGS:=-ggdb $(LDFLAGS) |
31 else | 62 else |
32 CFLAGS:=-O2 -flto -std=gnu99 $(shell pkg-config --cflags-only-I $(LIBS)) -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration | 63 CFLAGS:=-O2 -flto $(CFLAGS) |
33 LDFLAGS:=-O2 -flto -lm $(shell pkg-config --libs $(LIBS)) | 64 LDFLAGS:=-O2 -flto $(LDFLAGS) |
65 endif #DEBUG | |
66 endif #Windows | |
67 | |
68 ifdef Z80_LOG_ADDRESS | |
69 CFLAGS+= -DZ80_LOG_ADDRESS | |
34 endif | 70 endif |
35 | 71 |
36 ifdef PROFILE | 72 ifdef PROFILE |
37 CFLAGS+= -pg | 73 CFLAGS+= -pg |
38 LDFLAGS+= -pg | 74 LDFLAGS+= -pg |
39 endif | 75 endif |
40 ifdef NOGL | 76 ifdef NOGL |
41 CFLAGS+= -DDISABLE_OPENGL | 77 CFLAGS+= -DDISABLE_OPENGL |
42 endif | 78 endif |
43 | 79 |
80 ifdef M68030 | |
81 CFLAGS+= -DM68030 | |
82 endif | |
83 ifdef M68020 | |
84 CFLAGS+= -DM68020 | |
85 endif | |
86 ifdef M68010 | |
87 CFLAGS+= -DM68010 | |
88 endif | |
89 | |
44 ifndef CPU | 90 ifndef CPU |
45 CPU:=$(shell uname -m) | 91 CPU:=$(shell uname -m) |
46 endif | 92 endif |
47 endif | |
48 | |
49 | 93 |
50 TRANSOBJS=gen.o backend.o $(MEM) | 94 TRANSOBJS=gen.o backend.o $(MEM) |
51 M68KOBJS=68kinst.o m68k_core.o | 95 M68KOBJS=68kinst.o m68k_core.o |
52 ifeq ($(CPU),x86_64) | 96 ifeq ($(CPU),x86_64) |
53 M68KOBJS+= runtime.o m68k_core_x86.o | 97 M68KOBJS+= m68k_core_x86.o |
54 TRANSOBJS+= gen_x86.o backend_x86.o | 98 TRANSOBJS+= gen_x86.o backend_x86.o |
55 else | 99 else |
56 ifeq ($(CPU),i686) | 100 ifeq ($(CPU),i686) |
57 M68KOBJS+= $(RUNTIME32) m68k_core_x86.o | 101 M68KOBJS+= m68k_core_x86.o |
58 TRANSOBJS+= gen_x86.o backend_x86.o | 102 TRANSOBJS+= gen_x86.o backend_x86.o |
59 NOZ80:=1 | 103 endif |
60 endif | 104 endif |
61 endif | 105 |
62 | 106 Z80OBJS=z80inst.o z80_to_x86.o |
63 Z80OBJS=z80inst.o z80_to_x86.o zruntime.o | |
64 AUDIOOBJS=ym2612.o psg.o wave.o | 107 AUDIOOBJS=ym2612.o psg.o wave.o |
65 CONFIGOBJS=config.o tern.o util.o | 108 CONFIGOBJS=config.o tern.o util.o |
66 | 109 |
67 MAINOBJS=blastem.o debug.o gdb_remote.o vdp.o render_sdl.o io.o $(CONFIGOBJS) gst.o $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) | 110 MAINOBJS=blastem.o debug.o gdb_remote.o vdp.o render_sdl.o io.o romdb.o $(TERMINAL) $(CONFIGOBJS) gst.o $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) |
68 | 111 |
69 ifeq ($(CPU),x86_64) | 112 ifeq ($(CPU),x86_64) |
70 CFLAGS+=-DX86_64 | 113 CFLAGS+=-DX86_64 -m64 |
114 LDFLAGS+=-m64 | |
71 else | 115 else |
72 ifeq ($(CPU),i686) | 116 ifeq ($(CPU),i686) |
73 CFLAGS+=-DX86_32 | 117 CFLAGS+=-DX86_32 -m32 |
118 LDFLAGS+=-m32 | |
74 endif | 119 endif |
75 endif | 120 endif |
76 | 121 |
77 ifdef NOZ80 | 122 ifdef NOZ80 |
78 CFLAGS+=-DNO_Z80 | 123 CFLAGS+=-DNO_Z80 |
79 else | 124 else |
80 MAINOBJS+= $(Z80OBJS) | 125 MAINOBJS+= $(Z80OBJS) |
81 endif | 126 endif |
82 | 127 |
83 ifdef WINDOWS | 128 ifeq ($(OS),Windows) |
84 ifndef NOGL | 129 ALL=$(BLASTEM) |
85 MAINOBJS+= glew.o | 130 else |
86 endif | 131 ALL= dis zdis stateview vgmplay blastem termhelper |
87 endif | 132 endif |
88 | 133 |
89 all : dis zdis stateview vgmplay blastem | 134 all : $(ALL) |
90 | 135 |
91 $(BLASTEM) : $(MAINOBJS) | 136 $(BLASTEM) : $(MAINOBJS) |
92 $(CC) -o $(BLASTEM) $(MAINOBJS) $(LDFLAGS) | 137 $(CC) -o $(BLASTEM) $(MAINOBJS) $(LDFLAGS) |
93 | 138 $(FIXUP) |
94 dis : dis.o 68kinst.o | 139 |
95 $(CC) -o dis dis.o 68kinst.o | 140 dis : dis.o 68kinst.o tern.o vos_program_module.o |
141 $(CC) -o dis dis.o 68kinst.o tern.o vos_program_module.o | |
96 | 142 |
97 zdis : zdis.o z80inst.o | 143 zdis : zdis.o z80inst.o |
98 $(CC) -o zdis zdis.o z80inst.o | 144 $(CC) -o zdis zdis.o z80inst.o |
99 | 145 |
100 libemu68k.a : $(M68KOBJS) $(TRANSOBJS) | 146 libemu68k.a : $(M68KOBJS) $(TRANSOBJS) |
116 $(CC) -o stateview stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o $(LDFLAGS) | 162 $(CC) -o stateview stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o $(LDFLAGS) |
117 | 163 |
118 vgmplay : vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS) | 164 vgmplay : vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS) |
119 $(CC) -o vgmplay vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS) $(LDFLAGS) | 165 $(CC) -o vgmplay vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS) $(LDFLAGS) |
120 | 166 |
167 test : test.o vdp.o | |
168 $(CC) -o test test.o vdp.o | |
169 | |
121 testgst : testgst.o gst.o | 170 testgst : testgst.o gst.o |
122 $(CC) -o testgst testgst.o gst.o | 171 $(CC) -o testgst testgst.o gst.o |
123 | 172 |
124 test_x86 : test_x86.o gen_x86.o gen.o | 173 test_x86 : test_x86.o gen_x86.o gen.o |
125 $(CC) -o test_x86 test_x86.o gen_x86.o gen.o | 174 $(CC) -o test_x86 test_x86.o gen_x86.o gen.o |
131 $(CC) -o gen_fib gen_fib.o gen_x86.o mem.o | 180 $(CC) -o gen_fib gen_fib.o gen_x86.o mem.o |
132 | 181 |
133 offsets : offsets.c z80_to_x86.h m68k_core.h | 182 offsets : offsets.c z80_to_x86.h m68k_core.h |
134 $(CC) -o offsets offsets.c | 183 $(CC) -o offsets offsets.c |
135 | 184 |
185 vos_prog_info : vos_prog_info.o vos_program_module.o | |
186 $(CC) -o vos_prog_info vos_prog_info.o vos_program_module.o | |
187 | |
136 %.o : %.S | 188 %.o : %.S |
137 $(CC) -c -o $@ $< | 189 $(CC) -c -o $@ $< |
138 | 190 |
139 %.o : %.c | 191 %.o : %.c |
140 $(CC) $(CFLAGS) -c -o $@ $< | 192 $(CC) $(CFLAGS) -c -o $@ $< |
141 | 193 |
142 %.bin : %.s68 | 194 %.bin : %.s68 |
143 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ $< | 195 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ -L $@.list $< |
144 | 196 |
145 %.bin : %.sz8 | 197 %.bin : %.sz8 |
146 vasmz80_mot -Fbin -spaces -o $@ $< | 198 vasmz80_mot -Fbin -spaces -o $@ $< |
147 | 199 |
148 clean : | 200 clean : |
149 rm -rf dis trans stateview test_x86 gen_fib *.o | 201 rm -rf $(ALL) trans ztestrun ztestgen *.o |