annotate Makefile @ 559:6b248602ab84

blastem builds and almost works on OS X now
author Mike Pavone <pavone@retrodev.com>
date Tue, 17 Jun 2014 01:50:29 -0400
parents acec5464fa1e
children 7ed1dbb48f61
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
559
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
1 ifndef OS
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
2 OS:=$(shell uname -s)
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
3 endif
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
4
495
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
5 ifdef NOGL
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
6 LIBS=sdl
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
7 else
559
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
8 ifeq ($(OS),Darwin)
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
9 LIBS=sdl glew
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
10 else
488
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents: 487
diff changeset
11 LIBS=sdl glew gl
495
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
12 endif
559
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
13 endif
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
14
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
15 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS))
229
d60837a7d18a Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents: 208
diff changeset
16 ifdef DEBUG
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
17 CFLAGS:=-ggdb -std=gnu99 $(shell pkg-config --cflags-only-I $(LIBS)) -Wreturn-type -Werror=return-type
229
d60837a7d18a Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents: 208
diff changeset
18 else
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
19 CFLAGS:=-O2 -std=gnu99 $(shell pkg-config --cflags-only-I $(LIBS)) -Wreturn-type -Werror=return-type
229
d60837a7d18a Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents: 208
diff changeset
20 endif
18
3e7bfde7606e M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents: 16
diff changeset
21
426
add9e2f5c0e3 Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Mike Pavone <pavone@retrodev.com>
parents: 419
diff changeset
22 ifdef PROFILE
add9e2f5c0e3 Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Mike Pavone <pavone@retrodev.com>
parents: 419
diff changeset
23 CFLAGS+= -pg
add9e2f5c0e3 Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Mike Pavone <pavone@retrodev.com>
parents: 419
diff changeset
24 LDFLAGS+= -pg
add9e2f5c0e3 Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Mike Pavone <pavone@retrodev.com>
parents: 419
diff changeset
25 endif
495
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
26 ifdef NOGL
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
27 CFLAGS+= -DDISABLE_OPENGL
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
28 endif
426
add9e2f5c0e3 Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Mike Pavone <pavone@retrodev.com>
parents: 419
diff changeset
29
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
30 ifndef CPU
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
31 CPU:=$(shell uname -m)
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
32 endif
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
33
559
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
34 ifeq ($(OS),Darwin)
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
35 LDFLAGS+= -framework OpenGL
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
36 endif
550
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
37
557
acec5464fa1e Rename x86_backend.h and x86_backend.c to backend.h and backend.c respectively
Mike Pavone <pavone@retrodev.com>
parents: 553
diff changeset
38 TRANSOBJS=gen_x86.o backend.o mem.o
550
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
39 M68KOBJS=68kinst.o m68k_to_x86.o
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
40 ifeq ($(CPU),x86_64)
552
0687b05061dd Fix typo in Makefile
Mike Pavone <pavone@retrodev.com>
parents: 550
diff changeset
41 M68KOBJS+= runtime.o
550
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
42 else
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
43 ifeq ($(CPU),i686)
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
44 M68KOBJS+= runtime_32.o
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
45 endif
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
46 endif
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
47
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
48 Z80OBJS=z80inst.o z80_to_x86.o zruntime.o
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
49 AUDIOOBJS=ym2612.o psg.o wave.o
495
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
50 CONFIGOBJS=config.o tern.o util.o
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
51
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
52 MAINOBJS=blastem.o debug.o gdb_remote.o vdp.o render_sdl.o io.o $(CONFIGOBJS) gst.o $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS)
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
53
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
54 ifeq ($(CPU),x86_64)
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
55 CFLAGS+=-DX86_64
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
56 MAINOBJS+= $(Z80OBJS)
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
57 else
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
58 ifeq ($(CPU),i686)
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
59 CFLAGS+=-DX86_32
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
60 endif
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
61 endif
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
62
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
63
465
dc322bc77ea2 Fix stateview. Update "all" target in Makefile.
Mike Pavone <pavone@retrodev.com>
parents: 451
diff changeset
64 all : dis zdis stateview vgmplay blastem
54
3b79cbcf6846 Get Flavio's color bar demo kind of sort of working
Mike Pavone <pavone@retrodev.com>
parents: 20
diff changeset
65
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
66 blastem : $(MAINOBJS)
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
67 $(CC) -ggdb -o blastem $(MAINOBJS) $(LDFLAGS)
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
68
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
69 dis : dis.o 68kinst.o
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
70 $(CC) -o dis dis.o 68kinst.o
199
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
71
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
72 zdis : zdis.o z80inst.o
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
73 $(CC) -o zdis zdis.o z80inst.o
451
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
74
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
75 libemu68k.a : $(M68KOBJS) $(TRANSOBJS)
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
76 ar rcs libemu68k.a $(M68KOBJS) $(TRANSOBJS)
451
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
77
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
78 trans : trans.o $(M68KOBJS) $(TRANSOBJS)
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
79 $(CC) -o trans trans.o $(M68KOBJS) $(TRANSOBJS)
235
d9bf8e61c33c Get Z80 core working for simple programs
Mike Pavone <pavone@retrodev.com>
parents: 229
diff changeset
80
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
81 transz80 : transz80.o $(Z80OBJS) $(TRANSOBJS)
505
b7b7a1cab44a The local clone on my laptop got messed up and some changes had not been pushed. This commit represents the status of the working copy from that clone. It unfortunately contains some changes that I did not intend to commit yet, but this seems like the best option at the moment.
Michael Pavone <pavone@retrodev.com>
parents: 495
diff changeset
82 $(CC) -o transz80 transz80.o $(Z80OBJS) $(TRANSOBJS)
18
3e7bfde7606e M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents: 16
diff changeset
83
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
84 ztestrun : ztestrun.o $(Z80OBJS) $(TRANSOBJS)
505
b7b7a1cab44a The local clone on my laptop got messed up and some changes had not been pushed. This commit represents the status of the working copy from that clone. It unfortunately contains some changes that I did not intend to commit yet, but this seems like the best option at the moment.
Michael Pavone <pavone@retrodev.com>
parents: 495
diff changeset
85 $(CC) -o ztestrun ztestrun.o $(Z80OBJS) $(TRANSOBJS)
292
b970ea214ecb Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents: 288
diff changeset
86
b970ea214ecb Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents: 288
diff changeset
87 ztestgen : ztestgen.o z80inst.o
505
b7b7a1cab44a The local clone on my laptop got messed up and some changes had not been pushed. This commit represents the status of the working copy from that clone. It unfortunately contains some changes that I did not intend to commit yet, but this seems like the best option at the moment.
Michael Pavone <pavone@retrodev.com>
parents: 495
diff changeset
88 $(CC) -ggdb -o ztestgen ztestgen.o z80inst.o
292
b970ea214ecb Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents: 288
diff changeset
89
495
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
90 stateview : stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
91 $(CC) -o stateview stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o $(LDFLAGS)
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents: 18
diff changeset
92
495
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
93 vgmplay : vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS)
39cad98d2789 Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
94 $(CC) -o vgmplay vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS) $(LDFLAGS)
408
a13a83934ba3 Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents: 407
diff changeset
95
451
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
96 testgst : testgst.o gst.o
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
97 $(CC) -o testgst testgst.o gst.o
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
98
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
99 test_x86 : test_x86.o gen_x86.o
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
100 $(CC) -o test_x86 test_x86.o gen_x86.o
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
101
553
1af6c1052993 Added untested code for generating ARM machine code
Mike Pavone <pavone@retrodev.com>
parents: 552
diff changeset
102 test_arm : test_arm.o gen_arm.o mem.o
1af6c1052993 Added untested code for generating ARM machine code
Mike Pavone <pavone@retrodev.com>
parents: 552
diff changeset
103 $(CC) -o test_arm test_arm.o gen_arm.o mem.o
1af6c1052993 Added untested code for generating ARM machine code
Mike Pavone <pavone@retrodev.com>
parents: 552
diff changeset
104
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
105 gen_fib : gen_fib.o gen_x86.o mem.o
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
106 $(CC) -o gen_fib gen_fib.o gen_x86.o mem.o
240
ed540dd4cf2b Add header dependencies to offsets
Mike Pavone <pavone@retrodev.com>
parents: 235
diff changeset
107
ed540dd4cf2b Add header dependencies to offsets
Mike Pavone <pavone@retrodev.com>
parents: 235
diff changeset
108 offsets : offsets.c z80_to_x86.h m68k_to_x86.h
ed540dd4cf2b Add header dependencies to offsets
Mike Pavone <pavone@retrodev.com>
parents: 235
diff changeset
109 $(CC) -o offsets offsets.c
451
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
110
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
111 %.o : %.S
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
112 $(CC) -c -o $@ $<
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
113
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
114 %.o : %.c
229
d60837a7d18a Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents: 208
diff changeset
115 $(CC) $(CFLAGS) -c -o $@ $<
18
3e7bfde7606e M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents: 16
diff changeset
116
3e7bfde7606e M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents: 16
diff changeset
117 %.bin : %.s68
92
c3d034e076ee Fix some bugs in emulation of CLR
Mike Pavone <pavone@retrodev.com>
parents: 54
diff changeset
118 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ $<
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
119
199
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
120 %.bin : %.sz8
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
121 vasmz80_mot -Fbin -spaces -o $@ $<
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
122
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
123 clean :
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents: 18
diff changeset
124 rm -rf dis trans stateview test_x86 gen_fib *.o