Mercurial > repos > blastem
annotate Makefile @ 821:21a69dfb6ee7
Implement half carry for a couple of the trivial cases
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 01 Aug 2015 17:05:51 -0700 |
parents | cf6149b7c6e5 |
children | 3b8267fd1687 |
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 |
805 | 4 FIXUP:=true |
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
5 |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
6 ifeq ($(OS),Windows) |
795
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
7 ifndef SDL2_PREFIX |
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
8 SDL2_PREFIX:="C:/MinGW/usr" |
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
9 endif |
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
10 ifndef GLEW32S_LIB |
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
11 GLEW32S_LIB=glew32s.lib |
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
12 endif |
741
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
13 |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
14 MEM:=mem_win.o |
794
792be135d3af
Spawn a terminal for the debugger when needed if we are not already attached to one
Michael Pavone <pavone@retrodev.com>
parents:
783
diff
changeset
|
15 TERMINAL:=terminal_win.o |
805 | 16 EXE:=.exe |
741
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
17 CC:=wine gcc.exe |
795
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
18 CFLAGS:=-O2 -std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"$(SDL2_PREFIX)/include/SDL2" -DGLEW_STATIC |
803 | 19 LDFLAGS:= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -lm -lmingw32 -lSDL2main -lSDL2 -lws2_32 -lopengl32 -lglu32 -mwindows |
741
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
20 CPU:=i686 |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
21 |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
22 else |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
23 |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
24 MEM:=mem.o |
794
792be135d3af
Spawn a terminal for the debugger when needed if we are not already attached to one
Michael Pavone <pavone@retrodev.com>
parents:
783
diff
changeset
|
25 TERMINAL:=terminal.o |
805 | 26 EXE:= |
741
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
27 |
719
019d27995e32
Upgrade to SDL 2.0 and drop support for the non-OpenGL render path
Michael Pavone <pavone@retrodev.com>
parents:
682
diff
changeset
|
28 ifeq ($(OS),Darwin) |
019d27995e32
Upgrade to SDL 2.0 and drop support for the non-OpenGL render path
Michael Pavone <pavone@retrodev.com>
parents:
682
diff
changeset
|
29 LIBS=sdl2 glew |
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
|
30 else |
719
019d27995e32
Upgrade to SDL 2.0 and drop support for the non-OpenGL render path
Michael Pavone <pavone@retrodev.com>
parents:
682
diff
changeset
|
31 LIBS=sdl2 glew gl |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
32 endif #Darwin |
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
33 |
783
e64975fc5f98
Fix stateview build and fix Makefile to use /bin/echo since builtin echo does not always support -e
Michael Pavone <pavone@retrodev.com>
parents:
764
diff
changeset
|
34 HAS_PROC:=$(shell if [ -d /proc ]; then /bin/echo -e -DHAS_PROC; fi) |
762
206c449eaa81
Get "portable" builds working on Linux and add a build time check for whether /proc exists
Michael Pavone <pavone@retrodev.com>
parents:
761
diff
changeset
|
35 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value -Wno-logical-op-parentheses $(HAS_PROC) |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
36 ifdef PORTABLE |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
37 CFLAGS+= -DGLEW_STATIC -Iglew/include |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
38 LDFLAGS:=-lm glew/lib/libGLEW.a |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
39 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
40 ifeq ($(OS),Darwin) |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
41 CFLAGS+= -IFrameworks/SDL2.framework/Headers |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
42 LDFLAGS+= -FFrameworks -framework SDL2 -framework OpenGL |
805 | 43 FIXUP:=install_name_tool -change @rpath/SDL2.framework/Versions/A/SDL2 @executable_path/Frameworks/SDL2.framework/Versions/A/SDL2 |
762
206c449eaa81
Get "portable" builds working on Linux and add a build time check for whether /proc exists
Michael Pavone <pavone@retrodev.com>
parents:
761
diff
changeset
|
44 else |
206c449eaa81
Get "portable" builds working on Linux and add a build time check for whether /proc exists
Michael Pavone <pavone@retrodev.com>
parents:
761
diff
changeset
|
45 CFLAGS+= -Isdl/include |
206c449eaa81
Get "portable" builds working on Linux and add a build time check for whether /proc exists
Michael Pavone <pavone@retrodev.com>
parents:
761
diff
changeset
|
46 LDFLAGS+= -Wl,-rpath='$$ORIGIN/lib' -Llib -lSDL2 $(shell pkg-config --libs gl) |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
47 endif #Darwin |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
48 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
49 else |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
50 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
51 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
52 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
53 ifeq ($(OS),Darwin) |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
54 LDFLAGS+= -framework OpenGL |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
55 endif |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
56 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
57 endif #PORTABLE |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
58 |
749
6f439a197f61
Fix check for DEBUG in Makefile
Michael Pavone <pavone@retrodev.com>
parents:
746
diff
changeset
|
59 ifdef DEBUG |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
60 CFLAGS:=-ggdb $(CFLAGS) |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
61 LDFLAGS:=-ggdb $(LDFLAGS) |
229
d60837a7d18a
Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents:
208
diff
changeset
|
62 else |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
63 CFLAGS:=-O2 -flto $(CFLAGS) |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
64 LDFLAGS:=-O2 -flto $(LDFLAGS) |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
65 endif #DEBUG |
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
66 endif #Windows |
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
|
67 |
735
539d12fa6a4d
Add a define in both the source and Makefile for enabling logging of z80 instruction address/cycle counts. Fix Z80 in/out instructions to eliminate assumptions about which registers are stored in native regs. Fix read_16 to not corrupt the low byte when the read has to call into a C function.
Michael Pavone <pavone@retrodev.com>
parents:
727
diff
changeset
|
68 ifdef Z80_LOG_ADDRESS |
539d12fa6a4d
Add a define in both the source and Makefile for enabling logging of z80 instruction address/cycle counts. Fix Z80 in/out instructions to eliminate assumptions about which registers are stored in native regs. Fix read_16 to not corrupt the low byte when the read has to call into a C function.
Michael Pavone <pavone@retrodev.com>
parents:
727
diff
changeset
|
69 CFLAGS+= -DZ80_LOG_ADDRESS |
539d12fa6a4d
Add a define in both the source and Makefile for enabling logging of z80 instruction address/cycle counts. Fix Z80 in/out instructions to eliminate assumptions about which registers are stored in native regs. Fix read_16 to not corrupt the low byte when the read has to call into a C function.
Michael Pavone <pavone@retrodev.com>
parents:
727
diff
changeset
|
70 endif |
539d12fa6a4d
Add a define in both the source and Makefile for enabling logging of z80 instruction address/cycle counts. Fix Z80 in/out instructions to eliminate assumptions about which registers are stored in native regs. Fix read_16 to not corrupt the low byte when the read has to call into a C function.
Michael Pavone <pavone@retrodev.com>
parents:
727
diff
changeset
|
71 |
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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 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
|
77 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
|
78 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
|
79 |
630
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
80 ifdef M68030 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
81 CFLAGS+= -DM68030 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
82 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
83 ifdef M68020 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
84 CFLAGS+= -DM68020 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
85 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
86 ifdef M68010 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
87 CFLAGS+= -DM68010 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
88 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
89 |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
90 ifndef CPU |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
91 CPU:=$(shell uname -m) |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
92 endif |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
93 |
745
daa31ee7d8cd
Get windows build compiling again post-merge
Michael Pavone <pavone@retrodev.com>
parents:
744
diff
changeset
|
94 TRANSOBJS=gen.o backend.o $(MEM) |
570
76bba9ffe351
Initial stab at separating the generic parts of the 68K core from the host-cpu specific parts.
Michael Pavone <pavone@retrodev.com>
parents:
568
diff
changeset
|
95 M68KOBJS=68kinst.o m68k_core.o |
550
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
96 ifeq ($(CPU),x86_64) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
97 M68KOBJS+= m68k_core_x86.o |
568
19e517735215
Small Makefile change that was missed in the last commit
Michael Pavone <pavone@retrodev.com>
parents:
565
diff
changeset
|
98 TRANSOBJS+= gen_x86.o backend_x86.o |
550
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
99 else |
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
100 ifeq ($(CPU),i686) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
101 M68KOBJS+= m68k_core_x86.o |
568
19e517735215
Small Makefile change that was missed in the last commit
Michael Pavone <pavone@retrodev.com>
parents:
565
diff
changeset
|
102 TRANSOBJS+= gen_x86.o backend_x86.o |
550
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
103 endif |
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
104 endif |
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
105 |
593
5ef3fe516da9
Z80 core is sort of working again
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
106 Z80OBJS=z80inst.o z80_to_x86.o |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
107 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
|
108 CONFIGOBJS=config.o tern.o util.o |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
109 |
794
792be135d3af
Spawn a terminal for the debugger when needed if we are not already attached to one
Michael Pavone <pavone@retrodev.com>
parents:
783
diff
changeset
|
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) |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
111 |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
112 ifeq ($(CPU),x86_64) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
113 CFLAGS+=-DX86_64 -m64 |
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
114 LDFLAGS+=-m64 |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
115 else |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
116 ifeq ($(CPU),i686) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
117 CFLAGS+=-DX86_32 -m32 |
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
118 LDFLAGS+=-m32 |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
119 endif |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
120 endif |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
121 |
565
9324f721efa6
Add a separate flag/define for disabling the Z80 at compile time to ease refactoring
Michael Pavone <pavone@retrodev.com>
parents:
563
diff
changeset
|
122 ifdef NOZ80 |
9324f721efa6
Add a separate flag/define for disabling the Z80 at compile time to ease refactoring
Michael Pavone <pavone@retrodev.com>
parents:
563
diff
changeset
|
123 CFLAGS+=-DNO_Z80 |
9324f721efa6
Add a separate flag/define for disabling the Z80 at compile time to ease refactoring
Michael Pavone <pavone@retrodev.com>
parents:
563
diff
changeset
|
124 else |
9324f721efa6
Add a separate flag/define for disabling the Z80 at compile time to ease refactoring
Michael Pavone <pavone@retrodev.com>
parents:
563
diff
changeset
|
125 MAINOBJS+= $(Z80OBJS) |
9324f721efa6
Add a separate flag/define for disabling the Z80 at compile time to ease refactoring
Michael Pavone <pavone@retrodev.com>
parents:
563
diff
changeset
|
126 endif |
9324f721efa6
Add a separate flag/define for disabling the Z80 at compile time to ease refactoring
Michael Pavone <pavone@retrodev.com>
parents:
563
diff
changeset
|
127 |
805 | 128 ALL=dis$(EXE) zdis$(EXE) stateview$(EXE) vgmplay$(EXE) blastem$(EXE) |
129 ifneq ($(OS),Windows) | |
130 ALL+= termhelper | |
742
2e1b3b258523
Make Windows port a little less half-assed
Michael Pavone <pavone@retrodev.com>
parents:
741
diff
changeset
|
131 endif |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
132 |
794
792be135d3af
Spawn a terminal for the debugger when needed if we are not already attached to one
Michael Pavone <pavone@retrodev.com>
parents:
783
diff
changeset
|
133 all : $(ALL) |
54
3b79cbcf6846
Get Flavio's color bar demo kind of sort of working
Mike Pavone <pavone@retrodev.com>
parents:
20
diff
changeset
|
134 |
805 | 135 blastem$(EXE) : $(MAINOBJS) |
136 $(CC) -o $@ $^ $(LDFLAGS) | |
137 $(FIXUP) ./$@ | |
16 | 138 |
805 | 139 dis$(EXE) : dis.o 68kinst.o tern.o vos_program_module.o |
140 $(CC) -o $@ $^ | |
199
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
141 |
805 | 142 zdis$(EXE) : zdis.o z80inst.o |
143 $(CC) -o $@ $^ | |
451
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
430
diff
changeset
|
144 |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
145 libemu68k.a : $(M68KOBJS) $(TRANSOBJS) |
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
146 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
|
147 |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
148 trans : trans.o $(M68KOBJS) $(TRANSOBJS) |
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
149 $(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
|
150 |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
151 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
|
152 $(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
|
153 |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
154 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
|
155 $(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
|
156 |
b970ea214ecb
Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents:
288
diff
changeset
|
157 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
|
158 $(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
|
159 |
805 | 160 stateview$(EXE) : stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o |
161 $(CC) -o $@ $^ $(LDFLAGS) | |
162 $(FIXUP) ./$@ | |
20
f664eeb55cb4
Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents:
18
diff
changeset
|
163 |
805 | 164 vgmplay$(EXE) : vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS) |
165 $(CC) -o $@ $^ $(LDFLAGS) | |
166 $(FIXUP) ./$@ | |
820
cf6149b7c6e5
Implement a tiny bit of CPM BDOS and add a corresponding Z80 core driver so that simple CPM programs like ZEXDOC/ZEXALL can be run against my Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
805
diff
changeset
|
167 |
cf6149b7c6e5
Implement a tiny bit of CPM BDOS and add a corresponding Z80 core driver so that simple CPM programs like ZEXDOC/ZEXALL can be run against my Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
805
diff
changeset
|
168 blastcpm : blastcpm.o util.o $(Z80OBJS) $(TRANSOBJS) |
cf6149b7c6e5
Implement a tiny bit of CPM BDOS and add a corresponding Z80 core driver so that simple CPM programs like ZEXDOC/ZEXALL can be run against my Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
805
diff
changeset
|
169 $(CC) -o $@ $^ |
408
a13a83934ba3
Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents:
407
diff
changeset
|
170 |
720
15d9359fd771
Add some tests for hint timing and fix it properly this time.
Michael Pavone <pavone@retrodev.com>
parents:
719
diff
changeset
|
171 test : test.o vdp.o |
15d9359fd771
Add some tests for hint timing and fix it properly this time.
Michael Pavone <pavone@retrodev.com>
parents:
719
diff
changeset
|
172 $(CC) -o test test.o vdp.o |
408
a13a83934ba3
Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents:
407
diff
changeset
|
173 |
451
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
430
diff
changeset
|
174 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
|
175 $(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
|
176 |
563
c8fefa140c80
Moved some generic stuff from backend.h gen_arm.h and gen_arm.c into gen.h and gen.c. Added a couple fields to cpu_options so that gen_mem_fun can be made guest CPU generic
Michael Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
177 test_x86 : test_x86.o gen_x86.o gen.o |
c8fefa140c80
Moved some generic stuff from backend.h gen_arm.h and gen_arm.c into gen.h and gen.c. Added a couple fields to cpu_options so that gen_mem_fun can be made guest CPU generic
Michael Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
178 $(CC) -o test_x86 test_x86.o gen_x86.o gen.o |
16 | 179 |
563
c8fefa140c80
Moved some generic stuff from backend.h gen_arm.h and gen_arm.c into gen.h and gen.c. Added a couple fields to cpu_options so that gen_mem_fun can be made guest CPU generic
Michael Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
180 test_arm : test_arm.o gen_arm.o mem.o gen.o |
c8fefa140c80
Moved some generic stuff from backend.h gen_arm.h and gen_arm.c into gen.h and gen.c. Added a couple fields to cpu_options so that gen_mem_fun can be made guest CPU generic
Michael Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
181 $(CC) -o test_arm test_arm.o gen_arm.o mem.o gen.o |
553
1af6c1052993
Added untested code for generating ARM machine code
Mike Pavone <pavone@retrodev.com>
parents:
552
diff
changeset
|
182 |
16 | 183 gen_fib : gen_fib.o gen_x86.o mem.o |
184 $(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
|
185 |
570
76bba9ffe351
Initial stab at separating the generic parts of the 68K core from the host-cpu specific parts.
Michael Pavone <pavone@retrodev.com>
parents:
568
diff
changeset
|
186 offsets : offsets.c z80_to_x86.h m68k_core.h |
240
ed540dd4cf2b
Add header dependencies to offsets
Mike Pavone <pavone@retrodev.com>
parents:
235
diff
changeset
|
187 $(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
|
188 |
631
de6f00204fa2
Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents:
630
diff
changeset
|
189 vos_prog_info : vos_prog_info.o vos_program_module.o |
de6f00204fa2
Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents:
630
diff
changeset
|
190 $(CC) -o vos_prog_info vos_prog_info.o vos_program_module.o |
de6f00204fa2
Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents:
630
diff
changeset
|
191 |
16 | 192 %.o : %.S |
193 $(CC) -c -o $@ $< | |
194 | |
195 %.o : %.c | |
229
d60837a7d18a
Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents:
208
diff
changeset
|
196 $(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
|
197 |
3e7bfde7606e
M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents:
16
diff
changeset
|
198 %.bin : %.s68 |
646
fa345ce3e5bd
Produce a listing file when assembling 68K test ROMs
Michael Pavone <pavone@retrodev.com>
parents:
631
diff
changeset
|
199 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ -L $@.list $< |
16 | 200 |
199
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
201 %.bin : %.sz8 |
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
202 vasmz80_mot -Fbin -spaces -o $@ $< |
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
203 |
16 | 204 clean : |
794
792be135d3af
Spawn a terminal for the debugger when needed if we are not already attached to one
Michael Pavone <pavone@retrodev.com>
parents:
783
diff
changeset
|
205 rm -rf $(ALL) trans ztestrun ztestgen *.o |