blob: b7b0eee08ce0263619c1f5e23c961089252e1d21 (
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
ifdef WINDOWS
MEM:=mem_win.o
BLASTEM:=blastem.exe
RUNTIME32:=runtime_win.S
CC:=wine gcc.exe
CFLAGS:=-O2 -std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"C:/MinGW/usr/include/SDL" -DGLEW_STATIC
LDFLAGS:= -L"C:/MinGW/usr/lib" -lm -lmingw32 -lSDLmain -lSDL
ifndef NOGL
LDFLAGS+= -lopengl32 -lglu32
endif
LDFLAGS+= -mwindows
CPU:=i686
else
MEM:=mem.o
BLASTEM:=blastem
RUNTIME32:=runtime_32.S
ifdef NOGL
LIBS=sdl
else
LIBS=sdl glew gl
endif
ifdef DEBUG
CFLAGS:=-ggdb -std=gnu99 $(shell pkg-config --cflags-only-I $(LIBS)) -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration
LDFLAGS:=-ggdb -lm $(shell pkg-config --libs $(LIBS))
else
CFLAGS:=-O2 -flto -std=gnu99 $(shell pkg-config --cflags-only-I $(LIBS)) -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration
LDFLAGS:=-O2 -flto -lm $(shell pkg-config --libs $(LIBS))
endif
ifdef PROFILE
CFLAGS+= -pg
LDFLAGS+= -pg
endif
ifdef NOGL
CFLAGS+= -DDISABLE_OPENGL
endif
ifndef CPU
CPU:=$(shell uname -m)
endif
endif
TRANSOBJS=gen.o backend.o $(MEM)
M68KOBJS=68kinst.o m68k_core.o
ifeq ($(CPU),x86_64)
M68KOBJS+= runtime.o m68k_core_x86.o
TRANSOBJS+= gen_x86.o backend_x86.o
else
ifeq ($(CPU),i686)
M68KOBJS+= $(RUNTIME32) m68k_core_x86.o
TRANSOBJS+= gen_x86.o backend_x86.o
NOZ80:=1
endif
endif
Z80OBJS=z80inst.o z80_to_x86.o zruntime.o
AUDIOOBJS=ym2612.o psg.o wave.o
CONFIGOBJS=config.o tern.o util.o
MAINOBJS=blastem.o debug.o gdb_remote.o vdp.o render_sdl.o io.o $(CONFIGOBJS) gst.o $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS)
ifeq ($(CPU),x86_64)
CFLAGS+=-DX86_64
else
ifeq ($(CPU),i686)
CFLAGS+=-DX86_32
endif
endif
ifdef NOZ80
CFLAGS+=-DNO_Z80
else
MAINOBJS+= $(Z80OBJS)
endif
ifdef WINDOWS
ifndef NOGL
MAINOBJS+= glew32s.lib
endif
endif
all : dis zdis stateview vgmplay blastem
$(BLASTEM) : $(MAINOBJS)
$(CC) -o $(BLASTEM) $(MAINOBJS) $(LDFLAGS)
dis : dis.o 68kinst.o
$(CC) -o dis dis.o 68kinst.o
zdis : zdis.o z80inst.o
$(CC) -o zdis zdis.o z80inst.o
libemu68k.a : $(M68KOBJS) $(TRANSOBJS)
ar rcs libemu68k.a $(M68KOBJS) $(TRANSOBJS)
trans : trans.o $(M68KOBJS) $(TRANSOBJS)
$(CC) -o trans trans.o $(M68KOBJS) $(TRANSOBJS)
transz80 : transz80.o $(Z80OBJS) $(TRANSOBJS)
$(CC) -o transz80 transz80.o $(Z80OBJS) $(TRANSOBJS)
ztestrun : ztestrun.o $(Z80OBJS) $(TRANSOBJS)
$(CC) -o ztestrun ztestrun.o $(Z80OBJS) $(TRANSOBJS)
ztestgen : ztestgen.o z80inst.o
$(CC) -ggdb -o ztestgen ztestgen.o z80inst.o
stateview : stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o
$(CC) -o stateview stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o $(LDFLAGS)
vgmplay : vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS)
$(CC) -o vgmplay vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS) $(LDFLAGS)
testgst : testgst.o gst.o
$(CC) -o testgst testgst.o gst.o
test_x86 : test_x86.o gen_x86.o gen.o
$(CC) -o test_x86 test_x86.o gen_x86.o gen.o
test_arm : test_arm.o gen_arm.o mem.o gen.o
$(CC) -o test_arm test_arm.o gen_arm.o mem.o gen.o
gen_fib : gen_fib.o gen_x86.o mem.o
$(CC) -o gen_fib gen_fib.o gen_x86.o mem.o
offsets : offsets.c z80_to_x86.h m68k_core.h
$(CC) -o offsets offsets.c
%.o : %.S
$(CC) -c -o $@ $<
%.o : %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.bin : %.s68
vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ $<
%.bin : %.sz8
vasmz80_mot -Fbin -spaces -o $@ $<
clean :
rm -rf dis trans stateview test_x86 gen_fib *.o
|