annotate Makefile @ 1758:95e387e1d63c mame_interp

Fix build
author Michael Pavone <pavone@retrodev.com>
date Tue, 19 Feb 2019 07:03:57 +0000
parents 956c1cce05e2
children 8fe162bdb038
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
1244
0a34e31c4fd0 Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents: 1228
diff changeset
8 SDL2_PREFIX:="sdl/i686-w64-mingw32"
0a34e31c4fd0 Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents: 1228
diff changeset
9 endif
0a34e31c4fd0 Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents: 1228
diff changeset
10 ifndef GLEW_PREFIX
0a34e31c4fd0 Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents: 1228
diff changeset
11 GLEW_PREFIX:=glew
795
bce97fc0bb8a Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents: 783
diff changeset
12 endif
bce97fc0bb8a Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents: 783
diff changeset
13 ifndef GLEW32S_LIB
1244
0a34e31c4fd0 Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents: 1228
diff changeset
14 GLEW32S_LIB:=$(GLEW_PREFIX)/lib/Release/Win32/glew32s.lib
795
bce97fc0bb8a Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents: 783
diff changeset
15 endif
741
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 573
diff changeset
16
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 573
diff changeset
17 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
18 TERMINAL:=terminal_win.o
1524
b96f9fae757f Fix Windows build, added Windows default_font_path implementation
Michael Pavone <pavone@retrodev.com>
parents: 1522
diff changeset
19 FONT:=nuklear_ui/font_win.o
1546
1a09422b87a5 Get Windows build working again. MegaWiFi code probably needs more work before it will actually work on Windows, but at least it doesn't break the build now
Michael Pavone <pavone@retrodev.com>
parents: 1543
diff changeset
20 NET:=net_win.o
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
21 EXE:=.exe
1244
0a34e31c4fd0 Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents: 1228
diff changeset
22 CC:=i686-w64-mingw32-gcc-win32
0a34e31c4fd0 Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents: 1228
diff changeset
23 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -I"$(SDL2_PREFIX)/include/SDL2" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC
803
Michael Pavone <pavone@retrodev.com>
parents: 802 799
diff changeset
24 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
25 CPU:=i686
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 573
diff changeset
26
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 573
diff changeset
27 else
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 573
diff changeset
28
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 573
diff changeset
29 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
30 TERMINAL:=terminal.o
1546
1a09422b87a5 Get Windows build working again. MegaWiFi code probably needs more work before it will actually work on Windows, but at least it doesn't break the build now
Michael Pavone <pavone@retrodev.com>
parents: 1543
diff changeset
31 NET:=net.o
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
32 EXE:=
741
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 573
diff changeset
33
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
34 HAS_PROC:=$(shell if [ -d /proc ]; then /bin/echo -e -DHAS_PROC; fi)
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
35 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value $(HAS_PROC) -DHAVE_UNISTD_H
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
36
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
37 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
38 LIBS=sdl2 glew
1537
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
39 FONT:=nuklear_ui/font_mac.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
40 else
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
41 ifdef USE_GLES
1758
95e387e1d63c Fix build
Michael Pavone <pavone@retrodev.com>
parents: 1696
diff changeset
42 ifdef GLES_LIB
95e387e1d63c Fix build
Michael Pavone <pavone@retrodev.com>
parents: 1696
diff changeset
43 LIBS=sdl2
95e387e1d63c Fix build
Michael Pavone <pavone@retrodev.com>
parents: 1696
diff changeset
44 else
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
45 LIBS=sdl2 glesv2
1758
95e387e1d63c Fix build
Michael Pavone <pavone@retrodev.com>
parents: 1696
diff changeset
46 endif
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
47 CFLAGS+= -DUSE_GLES
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
48 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
49 LIBS=sdl2 glew gl
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
50 endif #USE_GLES
1537
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
51 FONT:=nuklear_ui/font.o
744
fc68992cf18d Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
parents: 743 735
diff changeset
52 endif #Darwin
559
6b248602ab84 blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents: 557
diff changeset
53
1693
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
54 ifdef HOST_ZLIB
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
55 LIBS+= zlib
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
56 LIBZOBJS=
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
57 else
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
58 LIBZOBJS=zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/gzclose.o zlib/gzlib.o zlib/gzread.o\
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
59 zlib/gzwrite.o zlib/infback.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
60 endif
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
61
1073
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
62 ifeq ($(OS),Darwin)
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
63 #This should really be based on whether or not the C compiler is clang rather than based on the OS
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
64 CFLAGS+= -Wno-logical-op-parentheses
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
65 endif
761
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
66 ifdef PORTABLE
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
67 ifdef USE_GLES
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
68 ifndef GLES_LIB
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
69 GLES_LIB:=$(shell pkg-config --libs glesv2)
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
70 endif
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
71 LDFLAGS:=-lm $(GLES_LIB)
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
72 else
761
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
73 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
74 LDFLAGS:=-lm glew/lib/libGLEW.a
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
75 endif
761
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
76
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
77 ifeq ($(OS),Darwin)
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
78 CFLAGS+= -IFrameworks/SDL2.framework/Headers
1537
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
79 LDFLAGS+= -FFrameworks -framework SDL2 -framework OpenGL -framework AppKit
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
80 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
81 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
82 CFLAGS+= -Isdl/include
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
83 LDFLAGS+= -Wl,-rpath='$$ORIGIN/lib' -Llib -lSDL2
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
84 ifndef USE_GLES
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
85 LDFLAGS+= $(shell pkg-config --libs gl)
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1657
diff changeset
86 endif
761
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
87 endif #Darwin
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
88
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
89 else
1687
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
90 ifeq ($(MAKECMDGOALS),libblastem.so)
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
91 LDFLAGS:=-lm
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
92 else
1688
395f684c5379 Fixed the most glaring issues in libretro build
Mike Pavone <pavone@retrodev.com>
parents: 1687
diff changeset
93 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS)
1758
95e387e1d63c Fix build
Michael Pavone <pavone@retrodev.com>
parents: 1696
diff changeset
94 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) $(GLES_LIB)
1687
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
95 endif #libblastem.so
761
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
96
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
97 ifeq ($(OS),Darwin)
1537
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
98 LDFLAGS+= -framework OpenGL -framework AppKit
761
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
99 endif
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
100
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
101 endif #PORTABLE
824
3b8267fd1687 Allow for LTO on Windows
Michael Pavone <pavone@retrodev.com>
parents: 820
diff changeset
102 endif #Windows
761
ffb8cc5845fa Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents: 755
diff changeset
103
1657
774096402918 Allow optimization flag overrides in Makefile
Mike Pavone <pavone@retrodev.com>
parents: 1610
diff changeset
104 ifndef OPT
749
6f439a197f61 Fix check for DEBUG in Makefile
Michael Pavone <pavone@retrodev.com>
parents: 746
diff changeset
105 ifdef DEBUG
1537
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
106 OPT:=-g3 -O0
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
107 else
1073
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
108 ifdef NOLTO
1505
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
109 OPT:=-O2
1073
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
110 else
1505
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
111 OPT:=-O2 -flto
1073
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
112 endif #NOLTO
744
fc68992cf18d Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
parents: 743 735
diff changeset
113 endif #DEBUG
1657
774096402918 Allow optimization flag overrides in Makefile
Mike Pavone <pavone@retrodev.com>
parents: 1610
diff changeset
114 endif #OPT
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
115
1505
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
116 CFLAGS:=$(OPT) $(CFLAGS)
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
117 LDFLAGS:=$(OPT) $(LDFLAGS)
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
118
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
119 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
120 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
121 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
122
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
123 ifdef PROFILE
1299
da1ffc4026c4 Fix latching of V32 mode bit
Michael Pavone <pavone@retrodev.com>
parents: 1264
diff changeset
124 LDFLAGS+= -Wl,--no-as-needed -lprofiler -Wl,--as-needed
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
125 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
126 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
127 CFLAGS+= -DDISABLE_OPENGL
1483
001120e91fed Skip loading menu ROM if Nuklear UI is enabled. Allow disabling Nuklear UI in favor of old menu ROM both at compile time and in config. Fall back to ROM UI if GL is unavailable
Michael Pavone <pavone@retrodev.com>
parents: 1478
diff changeset
128 NONUKLEAR:=1
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
129 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
130
630
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
131 ifdef M68030
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
132 CFLAGS+= -DM68030
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
133 endif
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
134 ifdef M68020
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
135 CFLAGS+= -DM68020
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
136 endif
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
137 ifdef M68010
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
138 CFLAGS+= -DM68010
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
139 endif
47123183c336 Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
140
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
141 ifndef CPU
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
142 CPU:=$(shell uname -m)
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
143 endif
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
144
1073
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
145 #OpenBSD uses different names for these architectures
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
146 ifeq ($(CPU),amd64)
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
147 CPU:=x86_64
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
148 else
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
149 ifeq ($(CPU),i386)
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
150 CPU:=i686
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
151 endif
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
152 endif
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
153
1507
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
154 #TRANSOBJS=gen.o backend.o $(MEM) arena.o tern.o
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
155 TRANSOBJS=backend.o tern.o
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
156 M68KOBJS=68kinst.o m68k_core.o musashi/m68kops.o musashi/m68kcpu.o
550
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
157 ifeq ($(CPU),x86_64)
1507
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
158 #M68KOBJS+= m68k_core_x86.o
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
159 #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
160 else
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
161 ifeq ($(CPU),i686)
1507
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
162 #M68KOBJS+= m68k_core_x86.o
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
163 #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
164 endif
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
165 endif
96489fb27dbf Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents: 548
diff changeset
166
1507
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
167 #Z80OBJS=z80inst.o z80_to_x86.o
2455662378ed Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
Michael Pavone <pavone@retrodev.com>
parents: 1506
diff changeset
168 Z80OBJS=z80inst.o mame_z80/z80.o
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
169 AUDIOOBJS=ym2612.o psg.o wave.o
1495
e9e1910eb2f5 Move paths.o to CONFIGOBJS since config.c uses path_append now
Michael Pavone <pavone@retrodev.com>
parents: 1483
diff changeset
170 CONFIGOBJS=config.o tern.o util.o paths.o
1596
437e80a700aa Initial heuristics for detecting controller types and showing different labels in UI. Modified controller settings view to first display a list of controllers, only showing mapping after selecting controller
Michael Pavone <pavone@retrodev.com>
parents: 1583
diff changeset
171 NUKLEAROBJS=$(FONT) nuklear_ui/blastem_nuklear.o nuklear_ui/sfnt.o controller_info.o
1543
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
172 RENDEROBJS=render_sdl.o ppm.o
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
173
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
174 ifdef NOZLIB
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
175 CFLAGS+= -DDISABLE_ZLIB
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
176 else
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
177 RENDEROBJS+= $(LIBZOBJS) png.o
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
178 endif
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
179
1648
b7ecd0d6a77b Merge from default
Michael Pavone <pavone@retrodev.com>
parents: 1509 1610
diff changeset
180 #MAINOBJS=blastem.o system.o genesis.o debug.o gdb_remote.o vdp.o $(RENDEROBJS) io.o romdb.o hash.o menu.o xband.o
b7ecd0d6a77b Merge from default
Michael Pavone <pavone@retrodev.com>
parents: 1509 1610
diff changeset
181 MAINOBJS=blastem.o system.o genesis.o vdp.o $(RENDEROBJS) io.o romdb.o hash.o menu.o xband.o \
b7ecd0d6a77b Merge from default
Michael Pavone <pavone@retrodev.com>
parents: 1509 1610
diff changeset
182 realtec.o i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) \
1610
c206a422d466 Added J-Cart support
Michael Pavone <pavone@retrodev.com>
parents: 1599
diff changeset
183 $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o zip.o bindings.o jcart.o
1687
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
184
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
185 LIBOBJS=libblastem.o system.o genesis.o debug.o gdb_remote.o vdp.o io.o romdb.o hash.o menu.o xband.o realtec.o \
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
186 i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
187 $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o
1529
f7fe240a7da6 Updated fibonacci benchmark code to work with current test harness
Michael Pavone <pavone@retrodev.com>
parents: 1517
diff changeset
188
1483
001120e91fed Skip loading menu ROM if Nuklear UI is enabled. Allow disabling Nuklear UI in favor of old menu ROM both at compile time and in config. Fall back to ROM UI if GL is unavailable
Michael Pavone <pavone@retrodev.com>
parents: 1478
diff changeset
189 ifdef NONUKLEAR
001120e91fed Skip loading menu ROM if Nuklear UI is enabled. Allow disabling Nuklear UI in favor of old menu ROM both at compile time and in config. Fall back to ROM UI if GL is unavailable
Michael Pavone <pavone@retrodev.com>
parents: 1478
diff changeset
190 CFLAGS+= -DDISABLE_NUKLEAR
001120e91fed Skip loading menu ROM if Nuklear UI is enabled. Allow disabling Nuklear UI in favor of old menu ROM both at compile time and in config. Fall back to ROM UI if GL is unavailable
Michael Pavone <pavone@retrodev.com>
parents: 1478
diff changeset
191 else
001120e91fed Skip loading menu ROM if Nuklear UI is enabled. Allow disabling Nuklear UI in favor of old menu ROM both at compile time and in config. Fall back to ROM UI if GL is unavailable
Michael Pavone <pavone@retrodev.com>
parents: 1478
diff changeset
192 MAINOBJS+= $(NUKLEAROBJS)
001120e91fed Skip loading menu ROM if Nuklear UI is enabled. Allow disabling Nuklear UI in favor of old menu ROM both at compile time and in config. Fall back to ROM UI if GL is unavailable
Michael Pavone <pavone@retrodev.com>
parents: 1478
diff changeset
193 endif
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
194
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
195 ifeq ($(CPU),x86_64)
727
59a98179d3ba Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents: 720
diff changeset
196 CFLAGS+=-DX86_64 -m64
59a98179d3ba Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents: 720
diff changeset
197 LDFLAGS+=-m64
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
198 else
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
199 ifeq ($(CPU),i686)
727
59a98179d3ba Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents: 720
diff changeset
200 CFLAGS+=-DX86_32 -m32
59a98179d3ba Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents: 720
diff changeset
201 LDFLAGS+=-m32
1073
0eb4264c2287 Make the Makefile more OpenBSD friendly. LTO is not supported on the super old version of GCC it uses. uname -m reports different names than Linux. compiler will return error on rather than just warning for unknown options
Michael Pavone <pavone@retrodev.com>
parents: 1025
diff changeset
202 else
1648
b7ecd0d6a77b Merge from default
Michael Pavone <pavone@retrodev.com>
parents: 1509 1610
diff changeset
203 #$(error $(CPU) is not a supported architecture)
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
204 endif
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
205 endif
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
206
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
207 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
208 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
209 else
1117
928a65750345 Initial support for Genesis/Megadrive PBC mode. VDP still needs Mode 4 to be useful.
Michael Pavone <pavone@retrodev.com>
parents: 1111
diff changeset
210 MAINOBJS+= sms.o $(Z80OBJS)
1687
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
211 LIBOBJS+= sms.o $(Z80OBJS)
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
212 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
213
977
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 941
diff changeset
214 ifeq ($(OS),Windows)
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 941
diff changeset
215 MAINOBJS+= res.o
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 941
diff changeset
216 endif
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 941
diff changeset
217
1693
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
218 ifdef CONFIG_PATH
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
219 CFLAGS+= -DCONFIG_PATH='"'$(CONFIG_PATH)'"'
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
220 endif
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
221
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
222 ifdef DATA_PATH
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
223 CFLAGS+= -DDATA_PATH='"'$(DATA_PATH)'"'
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
224 endif
ba3fb7a3be6b Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents: 1688
diff changeset
225
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
226 ALL=dis$(EXE) zdis$(EXE) stateview$(EXE) vgmplay$(EXE) blastem$(EXE)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
227 ifneq ($(OS),Windows)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
228 ALL+= termhelper
742
2e1b3b258523 Make Windows port a little less half-assed
Michael Pavone <pavone@retrodev.com>
parents: 741
diff changeset
229 endif
548
a3afee2271ce Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents: 524
diff changeset
230
1687
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
231 ifeq ($(MAKECMDGOALS),libblastem.so)
1688
395f684c5379 Fixed the most glaring issues in libretro build
Mike Pavone <pavone@retrodev.com>
parents: 1687
diff changeset
232 CFLAGS+= -fpic -DIS_LIB
1687
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
233 endif
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
234
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
235 all : $(ALL)
54
3b79cbcf6846 Get Flavio's color bar demo kind of sort of working
Mike Pavone <pavone@retrodev.com>
parents: 20
diff changeset
236
1687
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
237 libblastem.so : $(LIBOBJS)
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
238 $(CC) -shared -o $@ $^ $(LDFLAGS)
6c54bb5fe3b3 Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
239
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
240 blastem$(EXE) : $(MAINOBJS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
241 $(CC) -o $@ $^ $(LDFLAGS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
242 $(FIXUP) ./$@
1080
382614130914 Some initial work on Atari Jaguar emulation
Michael Pavone <pavone@retrodev.com>
parents: 1073
diff changeset
243
1543
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
244 blastjag$(EXE) : jaguar.o jag_video.o $(RENDEROBJS) serialize.o $(M68KOBJS) $(TRANSOBJS) $(CONFIGOBJS)
1080
382614130914 Some initial work on Atari Jaguar emulation
Michael Pavone <pavone@retrodev.com>
parents: 1073
diff changeset
245 $(CC) -o $@ $^ $(LDFLAGS)
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
246
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
247 dis$(EXE) : dis.o 68kinst.o tern.o vos_program_module.o
1505
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
248 $(CC) -o $@ $^ $(OPT)
1093
4987fddd42a0 Initial stab at jaguar disassemler
Michael Pavone <pavone@retrodev.com>
parents: 1087
diff changeset
249
4987fddd42a0 Initial stab at jaguar disassemler
Michael Pavone <pavone@retrodev.com>
parents: 1087
diff changeset
250 jagdis : jagdis.o jagcpu.o tern.o
4987fddd42a0 Initial stab at jaguar disassemler
Michael Pavone <pavone@retrodev.com>
parents: 1087
diff changeset
251 $(CC) -o $@ $^
199
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
252
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
253 zdis$(EXE) : zdis.o z80inst.o
836
124a58fdcf3a Get trans program compiling again
Michael Pavone <pavone@retrodev.com>
parents: 824
diff changeset
254 $(CC) -o $@ $^
451
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
255
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
256 libemu68k.a : $(M68KOBJS) $(TRANSOBJS)
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
257 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
258
1427
4e5797b3935a WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents: 1416
diff changeset
259 trans : trans.o serialize.o $(M68KOBJS) $(TRANSOBJS) util.o
1505
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
260 $(CC) -o trans trans.o $(M68KOBJS) $(TRANSOBJS) util.o $(OPT)
235
d9bf8e61c33c Get Z80 core working for simple programs
Mike Pavone <pavone@retrodev.com>
parents: 229
diff changeset
261
419
d1bf9734ce94 Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents: 408
diff changeset
262 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
263 $(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
264
1427
4e5797b3935a WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents: 1416
diff changeset
265 ztestrun : ztestrun.o serialize.o $(Z80OBJS) $(TRANSOBJS)
1505
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
266 $(CC) -o ztestrun ztestrun.o $(Z80OBJS) $(TRANSOBJS) $(OPT)
292
b970ea214ecb Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents: 288
diff changeset
267
b970ea214ecb Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents: 288
diff changeset
268 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
269 $(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
270
1543
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
271 stateview$(EXE) : stateview.o vdp.o $(RENDEROBJS) serialize.o $(CONFIGOBJS) gst.o
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
272 $(CC) -o $@ $^ $(LDFLAGS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
273 $(FIXUP) ./$@
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents: 18
diff changeset
274
1543
bed941c9bc86 Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents: 1537
diff changeset
275 vgmplay$(EXE) : vgmplay.o $(RENDEROBJS) serialize.o $(CONFIGOBJS) $(AUDIOOBJS)
805
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
276 $(CC) -o $@ $^ $(LDFLAGS)
3eced113081c Pre-release cleanup
Michael Pavone <pavone@retrodev.com>
parents: 803
diff changeset
277 $(FIXUP) ./$@
836
124a58fdcf3a Get trans program compiling again
Michael Pavone <pavone@retrodev.com>
parents: 824
diff changeset
278
1427
4e5797b3935a WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents: 1416
diff changeset
279 blastcpm : blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS)
1505
f5d693bd694a Enable LTO on certain targets that don't need the full LDFLAGS by splitting out the optimization flags into a separate var
Michael Pavone <pavone@retrodev.com>
parents: 1427
diff changeset
280 $(CC) -o $@ $^ $(OPT)
408
a13a83934ba3 Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents: 407
diff changeset
281
720
15d9359fd771 Add some tests for hint timing and fix it properly this time.
Michael Pavone <pavone@retrodev.com>
parents: 719
diff changeset
282 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
283 $(CC) -o test test.o vdp.o
408
a13a83934ba3 Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents: 407
diff changeset
284
451
b7c3b2d22858 Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents: 430
diff changeset
285 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
286 $(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
287
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
288 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
289 $(CC) -o test_x86 test_x86.o gen_x86.o gen.o
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
290
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
291 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
292 $(CC) -o test_arm test_arm.o gen_arm.o mem.o gen.o
1172
14eb8ff4fb03 Added synthetic test for tracking down interrupt timing issues
Michael Pavone <pavone@retrodev.com>
parents: 1117
diff changeset
293
14eb8ff4fb03 Added synthetic test for tracking down interrupt timing issues
Michael Pavone <pavone@retrodev.com>
parents: 1117
diff changeset
294 test_int_timing : test_int_timing.o vdp.o
14eb8ff4fb03 Added synthetic test for tracking down interrupt timing issues
Michael Pavone <pavone@retrodev.com>
parents: 1117
diff changeset
295 $(CC) -o $@ $^
553
1af6c1052993 Added untested code for generating ARM machine code
Mike Pavone <pavone@retrodev.com>
parents: 552
diff changeset
296
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
297 gen_fib : gen_fib.o gen_x86.o mem.o
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
298 $(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
299
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
300 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
301 $(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
302
631
de6f00204fa2 Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents: 630
diff changeset
303 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
304 $(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
305
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
306 %.o : %.S
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
307 $(CC) -c -o $@ $<
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
308
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
309 %.o : %.c
229
d60837a7d18a Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents: 208
diff changeset
310 $(CC) $(CFLAGS) -c -o $@ $<
1537
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
311
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
312 %.o : %.m
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
313 $(CC) $(CFLAGS) -c -o $@ $<
b4914d92308b Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents: 1534
diff changeset
314
864
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
315 %.png : %.xcf
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
316 xcf2png $< > $@
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
317
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
318 %.tiles : %.spec
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
319 ./img2tiles.py -s $< $@
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
320
3e7bfde7606e M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents: 16
diff changeset
321 %.bin : %.s68
646
fa345ce3e5bd Produce a listing file when assembling 68K test ROMs
Michael Pavone <pavone@retrodev.com>
parents: 631
diff changeset
322 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ -L $@.list $<
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
323
199
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
324 %.bin : %.sz8
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
325 vasmz80_mot -Fbin -spaces -o $@ $<
977
4cbc349a82a9 Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents: 941
diff changeset
326 res.o : blastem.rc
1247
4ec5972adffa Missed a usage of Wine in Makefile
Michael Pavone <pavone@retrodev.com>
parents: 1244
diff changeset
327 i686-w64-mingw32-windres blastem.rc res.o
199
69585e7d474f Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents: 118
diff changeset
328
864
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
329 arrow.tiles : arrow.png
909
e60eb88d7b09 Added mouse support to menu ROM
Michael Pavone <pavone@retrodev.com>
parents: 883
diff changeset
330 cursor.tiles : cursor.png
864
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
331 font_interlace_variable.tiles : font_interlace_variable.png
917
f057975212e9 Added button graphic for menu
Michael Pavone <pavone@retrodev.com>
parents: 909
diff changeset
332 button.tiles : button.png
1025
01a91df5b87c Add missing dependency for font.tiles in Makefile
Michael Pavone <pavone@retrodev.com>
parents: 977
diff changeset
333 font.tiles : font.png
941
c96647630320 WIP buttons in menu ROM
Michael Pavone <pavone@retrodev.com>
parents: 917
diff changeset
334
c96647630320 WIP buttons in menu ROM
Michael Pavone <pavone@retrodev.com>
parents: 917
diff changeset
335 menu.bin : font_interlace_variable.tiles arrow.tiles cursor.tiles button.tiles font.tiles
864
40703069bb68 Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents: 836
diff changeset
336
16
54fba9ef781b Add Makefile
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
337 clean :
1534
Michael Pavone <pavone@retrodev.com>
parents: 1527 1532
diff changeset
338 rm -rf $(ALL) trans ztestrun ztestgen *.o nuklear_ui/*.o zlib/*.o