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
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
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
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>
parents: 743 735
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
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
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
Michael Pavone <pavone@retrodev.com>
parents: 802 799
diff changeset
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
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
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>
parents: 743 735
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
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
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>
parents: 743 735
diff changeset
65 endif #DEBUG
fc68992cf18d Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
parents: 743 735
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
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
128 ALL=dis$(EXE) zdis$(EXE) stateview$(EXE) vgmplay$(EXE) blastem$(EXE)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
129 ifneq ($(OS),Windows)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
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
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
135 blastem$(EXE) : $(MAINOBJS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
136 $(CC) -o $@ $^ $(LDFLAGS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
137 $(FIXUP) ./$@
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
138
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
139 dis$(EXE) : dis.o 68kinst.o tern.o vos_program_module.o
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
140 $(CC) -o $@ $^
199
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
141
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
142 zdis$(EXE) : zdis.o z80inst.o
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
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
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
160 stateview$(EXE) : stateview.o vdp.o render_sdl.o $(CONFIGOBJS) gst.o
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
161 $(CC) -o $@ $^ $(LDFLAGS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
162 $(FIXUP) ./$@
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents: 18
diff changeset
163
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
164 vgmplay$(EXE) : vgmplay.o render_sdl.o $(CONFIGOBJS) $(AUDIOOBJS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
165 $(CC) -o $@ $^ $(LDFLAGS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
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
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
183 gen_fib : gen_fib.o gen_x86.o mem.o
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
192 %.o : %.S
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
193 $(CC) -c -o $@ $<
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
194
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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