Mercurial > repos > blastem
annotate Makefile @ 1787:0c6d07f91346 mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 14 Mar 2019 23:40:50 -0700 |
parents | 0a26f3657295 3a8c4ee68568 |
children | 49f65d240299 |
rev | line source |
---|---|
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
1 ifndef OS |
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
2 OS:=$(shell uname -s) |
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
3 endif |
805 | 4 FIXUP:=true |
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
5 |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
6 ifeq ($(OS),Windows) |
795
bce97fc0bb8a
Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents:
783
diff
changeset
|
7 ifndef SDL2_PREFIX |
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 | 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 | 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 | 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 |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
41 |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
42 ifdef USE_FBDEV |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
43 LIBS=alsa |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
44 ifndef NOGL |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
45 LIBS+=glesv2 egl |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
46 endif |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
47 CFLAGS+= -DUSE_GLES -DUSE_FBDEV -pthread |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
48 else |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
49 ifdef USE_GLES |
1758 | 50 ifdef GLES_LIB |
51 LIBS=sdl2 | |
52 else | |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
53 LIBS=sdl2 glesv2 |
1758 | 54 endif |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
55 CFLAGS+= -DUSE_GLES |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
56 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
|
57 LIBS=sdl2 glew gl |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
58 endif #USE_GLES |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
59 endif #USE_FBDEV |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
60 FONT:=nuklear_ui/font.o |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
61 endif #Darwin |
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
62 |
1693
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
63 ifdef HOST_ZLIB |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
64 LIBS+= zlib |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
65 LIBZOBJS= |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
66 else |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
67 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
|
68 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
|
69 endif |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
70 |
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
|
71 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
|
72 #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
|
73 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
|
74 endif |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
75 ifdef PORTABLE |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
76 ifdef USE_GLES |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
77 ifndef GLES_LIB |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
78 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
|
79 endif |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
80 LDFLAGS:=-lm $(GLES_LIB) |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
81 else |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
82 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
|
83 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
|
84 endif |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
85 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
86 ifeq ($(OS),Darwin) |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
87 CFLAGS+= -IFrameworks/SDL2.framework/Headers |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
88 LDFLAGS+= -FFrameworks -framework SDL2 -framework OpenGL -framework AppKit |
805 | 89 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
|
90 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
|
91 CFLAGS+= -Isdl/include |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
92 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
|
93 ifndef USE_GLES |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
94 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
|
95 endif |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
96 endif #Darwin |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
97 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
98 else |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
99 ifeq ($(MAKECMDGOALS),libblastem.so) |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
100 LDFLAGS:=-lm |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
101 else |
1688
395f684c5379
Fixed the most glaring issues in libretro build
Mike Pavone <pavone@retrodev.com>
parents:
1687
diff
changeset
|
102 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) |
1758 | 103 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) $(GLES_LIB) |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
104 ifdef USE_FBDEV |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
105 LDFLAGS+= -pthread |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
106 endif |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
107 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
|
108 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
109 ifeq ($(OS),Darwin) |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
110 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
|
111 endif |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
112 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
113 endif #PORTABLE |
824
3b8267fd1687
Allow for LTO on Windows
Michael Pavone <pavone@retrodev.com>
parents:
820
diff
changeset
|
114 endif #Windows |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
115 |
1657
774096402918
Allow optimization flag overrides in Makefile
Mike Pavone <pavone@retrodev.com>
parents:
1610
diff
changeset
|
116 ifndef OPT |
749
6f439a197f61
Fix check for DEBUG in Makefile
Michael Pavone <pavone@retrodev.com>
parents:
746
diff
changeset
|
117 ifdef DEBUG |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
118 OPT:=-g3 -O0 |
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
119 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
|
120 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
|
121 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
|
122 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
|
123 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
|
124 endif #NOLTO |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
125 endif #DEBUG |
1657
774096402918
Allow optimization flag overrides in Makefile
Mike Pavone <pavone@retrodev.com>
parents:
1610
diff
changeset
|
126 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
|
127 |
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
|
128 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
|
129 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
|
130 |
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
|
131 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
|
132 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
|
133 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
|
134 |
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
|
135 ifdef PROFILE |
1751
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
136 PROFFLAGS:= -Wl,--no-as-needed -lprofiler -Wl,--as-needed |
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
137 CFLAGS+= -g3 |
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
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 |
630
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
144 ifdef M68030 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
145 CFLAGS+= -DM68030 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
146 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
147 ifdef M68020 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
148 CFLAGS+= -DM68020 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
149 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
150 ifdef M68010 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
151 CFLAGS+= -DM68010 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
152 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
153 |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
154 ifndef CPU |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
155 CPU:=$(shell uname -m) |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
156 endif |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
157 |
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
|
158 #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
|
159 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
|
160 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
|
161 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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 |
1773
0a26f3657295
Remove MAME Z80 core in favor of my new Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
1769
diff
changeset
|
167 ifdef USE_NATIVE |
1303
208803173ebc
Implemented M68K trace mode. Some edge cases/SR update paths still need work
Michael Pavone <pavone@retrodev.com>
parents:
1299
diff
changeset
|
168 TRANSOBJS=gen.o backend.o $(MEM) arena.o tern.o |
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
|
169 M68KOBJS=68kinst.o m68k_core.o |
1773
0a26f3657295
Remove MAME Z80 core in favor of my new Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
1769
diff
changeset
|
170 Z80OBJS=z80inst.o z80_to_x86.o |
550
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
171 ifeq ($(CPU),x86_64) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
172 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
|
173 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
|
174 else |
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
175 ifeq ($(CPU),i686) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
176 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
|
177 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
|
178 endif |
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
179 endif |
1773
0a26f3657295
Remove MAME Z80 core in favor of my new Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
1769
diff
changeset
|
180 CFLAGS+= -DUSE_NATIVE |
1703
49a52c737bf0
Fix zero flag calculation in CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1693
diff
changeset
|
181 else |
1773
0a26f3657295
Remove MAME Z80 core in favor of my new Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
1769
diff
changeset
|
182 Z80OBJS=z80.o z80inst.o |
0a26f3657295
Remove MAME Z80 core in favor of my new Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
1769
diff
changeset
|
183 TRANSOBJS=backend.o tern.o |
0a26f3657295
Remove MAME Z80 core in favor of my new Z80 core
Michael Pavone <pavone@retrodev.com>
parents:
1769
diff
changeset
|
184 M68KOBJS=68kinst.o m68k_core.o musashi/m68kops.o musashi/m68kcpu.o |
1703
49a52c737bf0
Fix zero flag calculation in CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1693
diff
changeset
|
185 endif |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
186 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
|
187 CONFIGOBJS=config.o tern.o util.o paths.o |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
188 NUKLEAROBJS=$(FONT) nuklear_ui/blastem_nuklear.o nuklear_ui/sfnt.o |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
189 RENDEROBJS=ppm.o controller_info.o |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
190 ifdef USE_FBDEV |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
191 RENDEROBJS+= render_fbdev.o |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
192 else |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
193 RENDEROBJS+= render_sdl.o |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
194 endif |
1543
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
195 |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
196 ifdef NOZLIB |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
197 CFLAGS+= -DDISABLE_ZLIB |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
198 else |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
199 RENDEROBJS+= $(LIBZOBJS) png.o |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
200 endif |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
201 |
1648 | 202 #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 |
203 MAINOBJS=blastem.o system.o genesis.o vdp.o $(RENDEROBJS) io.o romdb.o hash.o menu.o xband.o \ | |
204 realtec.o i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) \ | |
1610 | 205 $(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
|
206 |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
207 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
|
208 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
|
209 $(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
|
210 |
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
|
211 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
|
212 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
|
213 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
|
214 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
|
215 endif |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
216 |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
217 ifeq ($(CPU),x86_64) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
218 CFLAGS+=-DX86_64 -m64 |
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
219 LDFLAGS+=-m64 |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
220 else |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
221 ifeq ($(CPU),i686) |
727
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
222 CFLAGS+=-DX86_32 -m32 |
59a98179d3ba
Eliminate runtime.S/runtime_32.S.
Michael Pavone <pavone@retrodev.com>
parents:
720
diff
changeset
|
223 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
|
224 else |
1648 | 225 #$(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
|
226 endif |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
227 endif |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
228 |
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
|
229 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
|
230 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
|
231 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
|
232 MAINOBJS+= sms.o $(Z80OBJS) |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
233 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
|
234 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
|
235 |
977
4cbc349a82a9
Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents:
941
diff
changeset
|
236 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
|
237 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
|
238 endif |
4cbc349a82a9
Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents:
941
diff
changeset
|
239 |
1693
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
240 ifdef CONFIG_PATH |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
241 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
|
242 endif |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
243 |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
244 ifdef DATA_PATH |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
245 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
|
246 endif |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
247 |
805 | 248 ALL=dis$(EXE) zdis$(EXE) stateview$(EXE) vgmplay$(EXE) blastem$(EXE) |
249 ifneq ($(OS),Windows) | |
250 ALL+= termhelper | |
742
2e1b3b258523
Make Windows port a little less half-assed
Michael Pavone <pavone@retrodev.com>
parents:
741
diff
changeset
|
251 endif |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
252 |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
253 ifeq ($(MAKECMDGOALS),libblastem.so) |
1688
395f684c5379
Fixed the most glaring issues in libretro build
Mike Pavone <pavone@retrodev.com>
parents:
1687
diff
changeset
|
254 CFLAGS+= -fpic -DIS_LIB |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
255 endif |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
256 |
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
|
257 all : $(ALL) |
54
3b79cbcf6846
Get Flavio's color bar demo kind of sort of working
Mike Pavone <pavone@retrodev.com>
parents:
20
diff
changeset
|
258 |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
259 libblastem.so : $(LIBOBJS) |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
260 $(CC) -shared -o $@ $^ $(LDFLAGS) |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
261 |
805 | 262 blastem$(EXE) : $(MAINOBJS) |
1751
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
263 $(CC) -o $@ $^ $(LDFLAGS) $(PROFFLAGS) |
805 | 264 $(FIXUP) ./$@ |
1080
382614130914
Some initial work on Atari Jaguar emulation
Michael Pavone <pavone@retrodev.com>
parents:
1073
diff
changeset
|
265 |
1543
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
266 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
|
267 $(CC) -o $@ $^ $(LDFLAGS) |
16 | 268 |
805 | 269 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
|
270 $(CC) -o $@ $^ $(OPT) |
1093
4987fddd42a0
Initial stab at jaguar disassemler
Michael Pavone <pavone@retrodev.com>
parents:
1087
diff
changeset
|
271 |
4987fddd42a0
Initial stab at jaguar disassemler
Michael Pavone <pavone@retrodev.com>
parents:
1087
diff
changeset
|
272 jagdis : jagdis.o jagcpu.o tern.o |
4987fddd42a0
Initial stab at jaguar disassemler
Michael Pavone <pavone@retrodev.com>
parents:
1087
diff
changeset
|
273 $(CC) -o $@ $^ |
199
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
274 |
805 | 275 zdis$(EXE) : zdis.o z80inst.o |
836
124a58fdcf3a
Get trans program compiling again
Michael Pavone <pavone@retrodev.com>
parents:
824
diff
changeset
|
276 $(CC) -o $@ $^ |
451
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
430
diff
changeset
|
277 |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
278 libemu68k.a : $(M68KOBJS) $(TRANSOBJS) |
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
279 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
|
280 |
1427
4e5797b3935a
WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents:
1416
diff
changeset
|
281 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
|
282 $(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
|
283 |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
284 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
|
285 $(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
|
286 |
1427
4e5797b3935a
WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents:
1416
diff
changeset
|
287 ztestrun : ztestrun.o serialize.o $(Z80OBJS) $(TRANSOBJS) |
1762
057198058196
Small fix to ztestrun rule in makefile
Michael Pavone <pavone@retrodev.com>
parents:
1752
diff
changeset
|
288 $(CC) -o ztestrun $^ $(OPT) |
292
b970ea214ecb
Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents:
288
diff
changeset
|
289 |
b970ea214ecb
Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents:
288
diff
changeset
|
290 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
|
291 $(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
|
292 |
1543
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
293 stateview$(EXE) : stateview.o vdp.o $(RENDEROBJS) serialize.o $(CONFIGOBJS) gst.o |
805 | 294 $(CC) -o $@ $^ $(LDFLAGS) |
295 $(FIXUP) ./$@ | |
20
f664eeb55cb4
Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents:
18
diff
changeset
|
296 |
1543
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
297 vgmplay$(EXE) : vgmplay.o $(RENDEROBJS) serialize.o $(CONFIGOBJS) $(AUDIOOBJS) |
805 | 298 $(CC) -o $@ $^ $(LDFLAGS) |
299 $(FIXUP) ./$@ | |
836
124a58fdcf3a
Get trans program compiling again
Michael Pavone <pavone@retrodev.com>
parents:
824
diff
changeset
|
300 |
1427
4e5797b3935a
WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents:
1416
diff
changeset
|
301 blastcpm : blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS) |
1751
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
302 $(CC) -o $@ $^ $(OPT) $(PROFFLAGS) |
408
a13a83934ba3
Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents:
407
diff
changeset
|
303 |
720
15d9359fd771
Add some tests for hint timing and fix it properly this time.
Michael Pavone <pavone@retrodev.com>
parents:
719
diff
changeset
|
304 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
|
305 $(CC) -o test test.o vdp.o |
408
a13a83934ba3
Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents:
407
diff
changeset
|
306 |
451
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
430
diff
changeset
|
307 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
|
308 $(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
|
309 |
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
|
310 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
|
311 $(CC) -o test_x86 test_x86.o gen_x86.o gen.o |
16 | 312 |
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
|
313 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
|
314 $(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
|
315 |
14eb8ff4fb03
Added synthetic test for tracking down interrupt timing issues
Michael Pavone <pavone@retrodev.com>
parents:
1117
diff
changeset
|
316 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
|
317 $(CC) -o $@ $^ |
553
1af6c1052993
Added untested code for generating ARM machine code
Mike Pavone <pavone@retrodev.com>
parents:
552
diff
changeset
|
318 |
16 | 319 gen_fib : gen_fib.o gen_x86.o mem.o |
320 $(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
|
321 |
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
|
322 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
|
323 $(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
|
324 |
631
de6f00204fa2
Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents:
630
diff
changeset
|
325 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
|
326 $(CC) -o vos_prog_info vos_prog_info.o vos_program_module.o |
1703
49a52c737bf0
Fix zero flag calculation in CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1693
diff
changeset
|
327 |
1752
d6d4c006a7b3
Initial attempt at interrupts in new Z80 core and integrating it into main executable
Michael Pavone <pavone@retrodev.com>
parents:
1751
diff
changeset
|
328 %.c : %.cpu cpu_dsl.py |
1749
e4fe5a450d05
Added option to CPU DSL to produce a threaded interpreter using computed goto
Michael Pavone <pavone@retrodev.com>
parents:
1703
diff
changeset
|
329 ./cpu_dsl.py -d goto $< > $@ |
631
de6f00204fa2
Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents:
630
diff
changeset
|
330 |
16 | 331 %.o : %.S |
332 $(CC) -c -o $@ $< | |
333 | |
334 %.o : %.c | |
229
d60837a7d18a
Improve color rendering accuracy and optimize SDL renderer a bit
Mike Pavone <pavone@retrodev.com>
parents:
208
diff
changeset
|
335 $(CC) $(CFLAGS) -c -o $@ $< |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
336 |
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
337 %.o : %.m |
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
338 $(CC) $(CFLAGS) -c -o $@ $< |
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
339 |
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
|
340 %.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
|
341 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
|
342 |
40703069bb68
Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents:
836
diff
changeset
|
343 %.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
|
344 ./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
|
345 |
3e7bfde7606e
M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents:
16
diff
changeset
|
346 %.bin : %.s68 |
646
fa345ce3e5bd
Produce a listing file when assembling 68K test ROMs
Michael Pavone <pavone@retrodev.com>
parents:
631
diff
changeset
|
347 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ -L $@.list $< |
16 | 348 |
199
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
349 %.bin : %.sz8 |
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
350 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
|
351 res.o : blastem.rc |
1247
4ec5972adffa
Missed a usage of Wine in Makefile
Michael Pavone <pavone@retrodev.com>
parents:
1244
diff
changeset
|
352 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
|
353 |
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
|
354 arrow.tiles : arrow.png |
909
e60eb88d7b09
Added mouse support to menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
883
diff
changeset
|
355 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
|
356 font_interlace_variable.tiles : font_interlace_variable.png |
917
f057975212e9
Added button graphic for menu
Michael Pavone <pavone@retrodev.com>
parents:
909
diff
changeset
|
357 button.tiles : button.png |
1025
01a91df5b87c
Add missing dependency for font.tiles in Makefile
Michael Pavone <pavone@retrodev.com>
parents:
977
diff
changeset
|
358 font.tiles : font.png |
941
c96647630320
WIP buttons in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
917
diff
changeset
|
359 |
c96647630320
WIP buttons in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
917
diff
changeset
|
360 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
|
361 |
16 | 362 clean : |
1534 | 363 rm -rf $(ALL) trans ztestrun ztestgen *.o nuklear_ui/*.o zlib/*.o |