Mercurial > repos > blastem
annotate Makefile @ 2688:b42f00a3a937 default tip
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 31 Mar 2025 21:06:18 -0700 |
parents | da2e06c42d16 |
children |
rev | line source |
---|---|
1818
243f3a7247f9
Include ROM DB in library binary for libretro target
Mike Pavone <pavone@retrodev.com>
parents:
1795
diff
changeset
|
1 #disable built-in rules |
243f3a7247f9
Include ROM DB in library binary for libretro target
Mike Pavone <pavone@retrodev.com>
parents:
1795
diff
changeset
|
2 .SUFFIXES : |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
3 .PHONY: all clean |
1818
243f3a7247f9
Include ROM DB in library binary for libretro target
Mike Pavone <pavone@retrodev.com>
parents:
1795
diff
changeset
|
4 |
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
5 ifndef OS |
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
6 OS:=$(shell uname -s) |
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
7 endif |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
8 ifndef SDL |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
9 SDL:=sdl2 |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
10 endif |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
11 SDL_UPPER:=$(shell echo $(SDL) | tr '[a-z]' '[A-Z]') |
805 | 12 FIXUP:=true |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
13 Z80_DISPATCH:=goto |
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
14 |
1795 | 15 BUNDLED_LIBZ:=zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/gzclose.o zlib/gzlib.o zlib/gzread.o\ |
16 zlib/gzwrite.o zlib/infback.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o | |
17 | |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
18 ifeq ($(OS),Windows) |
1828
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
19 |
1244
0a34e31c4fd0
Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents:
1228
diff
changeset
|
20 GLEW_PREFIX:=glew |
741
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
21 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
|
22 TERMINAL:=terminal_win.o |
1524
b96f9fae757f
Fix Windows build, added Windows default_font_path implementation
Michael Pavone <pavone@retrodev.com>
parents:
1522
diff
changeset
|
23 FONT:=nuklear_ui/font_win.o |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
24 CHOOSER:=nuklear_ui/filechooser_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
|
25 NET:=net_win.o |
805 | 26 EXE:=.exe |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
27 SO:=dll |
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
28 CPU:=i686 |
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
29 ifeq ($(CPU),i686) |
1244
0a34e31c4fd0
Update Windows build to use mingw-w64 cross compiler rather than Wine
Michael Pavone <pavone@retrodev.com>
parents:
1228
diff
changeset
|
30 CC:=i686-w64-mingw32-gcc-win32 |
1828
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
31 WINDRES:=i686-w64-mingw32-windres |
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
32 GLUDIR:=Win32 |
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
33 SDL2_PREFIX:="sdl/i686-w64-mingw32" |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
34 else |
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
35 CC:=x86_64-w64-mingw32-gcc-win32 |
1828
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
36 WINDRES:=x86_64-w64-mingw32-windres |
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
37 SDL2_PREFIX:="sdl/x86_64-w64-mingw32" |
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
38 GLUDIR:=x64 |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
39 endif |
1828
37afb9cf58be
Get 64-bit builds working for Windows target
Michael Pavone <pavone@retrodev.com>
parents:
1826
diff
changeset
|
40 GLEW32S_LIB:=$(GLEW_PREFIX)/lib/Release/$(GLUDIR)/glew32s.lib |
1952
42c12d141f6e
Remove usage of GCC pointer arithmetic on void * extension
Michael Pavone <pavone@retrodev.com>
parents:
1946
diff
changeset
|
41 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wpointer-arith -Werror=pointer-arith |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
42 LDFLAGS:=-lm -lmingw32 -lws2_32 -lcomdlg32 -mwindows |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
43 ifneq ($(MAKECMDGOALS),libblastem.dll) |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
44 CFLAGS+= -I"$(SDL2_PREFIX)/include/$(SDL_UPPER)" -I"$(GLEW_PREFIX)/include" -DGLEW_STATIC |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
45 LDFLAGS+= $(GLEW32S_LIB) -L"$(SDL2_PREFIX)/lib" -l$(SDL_UPPER)main -l$(SDL_UPPER) -lopengl32 -lglu32 |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
46 endif |
1795 | 47 LIBZOBJS=$(BUNDLED_LIBZ) |
741
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
48 |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
49 else |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
50 |
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
51 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
|
52 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
|
53 NET:=net.o |
805 | 54 EXE:= |
741
80a67be1770b
Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
573
diff
changeset
|
55 |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
56 HAS_PROC:=$(shell if [ -d /proc ]; then /bin/echo -e -DHAS_PROC; fi) |
1952
42c12d141f6e
Remove usage of GCC pointer arithmetic on void * extension
Michael Pavone <pavone@retrodev.com>
parents:
1946
diff
changeset
|
57 CFLAGS:=-std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value -Wpointer-arith -Werror=pointer-arith $(HAS_PROC) -DHAVE_UNISTD_H |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
58 |
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
|
59 ifeq ($(OS),Darwin) |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
60 LIBS=$(SDL) glew |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
61 FONT:=nuklear_ui/font_mac.o |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
62 CHOOSER:=nuklear_ui/filechooser_null.o |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
63 SO:=dylib |
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
|
64 else |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
65 SO:=so |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
66 |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
67 ifeq ($(CPU),wasm) |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
68 USE_GLES:=1 |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
69 endif |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
70 |
2685
da2e06c42d16
Add a compile-time flag to use RGB565 instead of ABGR/ARGB
Michael Pavone <pavone@retrodev.com>
parents:
2658
diff
changeset
|
71 ifdef USE_RGB565 |
da2e06c42d16
Add a compile-time flag to use RGB565 instead of ABGR/ARGB
Michael Pavone <pavone@retrodev.com>
parents:
2658
diff
changeset
|
72 CFLAGS+= -DUSE_RGB565 |
da2e06c42d16
Add a compile-time flag to use RGB565 instead of ABGR/ARGB
Michael Pavone <pavone@retrodev.com>
parents:
2658
diff
changeset
|
73 endif |
da2e06c42d16
Add a compile-time flag to use RGB565 instead of ABGR/ARGB
Michael Pavone <pavone@retrodev.com>
parents:
2658
diff
changeset
|
74 |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
75 ifdef USE_FBDEV |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
76 LIBS=alsa |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
77 ifndef NOGL |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
78 LIBS+=glesv2 egl |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
79 endif |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
80 CFLAGS+= -DUSE_GLES -DUSE_FBDEV -pthread |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
81 else |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
82 ifdef USE_GLES |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
83 LIBS=$(SDL) glesv2 |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
84 CFLAGS+= -DUSE_GLES |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
85 else |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
86 LIBS=$(SDL) glew gl |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
87 endif #USE_GLES |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
88 endif #USE_FBDEV |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
89 ifeq ($(CPU),wasm) |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
90 CHOOSER:=nuklear_ui/filechooser_null.o |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
91 FONT:=nuklear_ui/font_web.o |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
92 Z80_DISPATCH:=call |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
93 else #CPU=wasm |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
94 FONT:=nuklear_ui/font.o |
2545
c076a96f1668
Get CD titles sort of working in libretro target
Michael Pavone <pavone@retrodev.com>
parents:
2521
diff
changeset
|
95 ifneq ($(MAKECMDGOALS),libblastem.$(SO)) |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
96 CHOOSER:=nuklear_ui/filechooser_gtk.o |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
97 GTKFLAGS:=$(shell pkg-config --cflags gtk+-3.0 2>/dev/null) |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
98 ifeq ($(GTKFLAGS),) |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
99 GTKFLAGS:=$(shell pkg-config --cflags gtk+-2.0 2>/dev/null) |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
100 ifeq ($(GTKFLAGS),) |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
101 CHOOSER:=nuklear_ui/filechooser_null.o |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
102 endif |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
103 endif |
2545
c076a96f1668
Get CD titles sort of working in libretro target
Michael Pavone <pavone@retrodev.com>
parents:
2521
diff
changeset
|
104 endif #neq ($(MAKECMDGOALS),libblastem.$(SO)) |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
105 endif #CPU=wasm |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
106 ifeq ($(GTKFLAGS),) |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
107 else |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
108 EXTRA_NUKLEAR_LDFLAGS:=-ldl |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
109 endif |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
110 CFLAGS+= $(GTKFLAGS) |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
111 endif #Darwin |
559
6b248602ab84
blastem builds and almost works on OS X now
Mike Pavone <pavone@retrodev.com>
parents:
557
diff
changeset
|
112 |
1693
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
113 ifdef HOST_ZLIB |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
114 LIBS+= zlib |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
115 LIBZOBJS= |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
116 else |
1795 | 117 LIBZOBJS=$(BUNDLED_LIBZ) |
1693
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
118 endif |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
119 |
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 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
|
121 #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
|
122 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
|
123 endif |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
124 |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
125 ifeq ($(CPU),wasm) |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
126 CFLAGS+= --use-port=sdl2 |
2619
ba2aba23b48e
Up heap memory for web build so large ROMs don't OOM
Michael Pavone <pavone@retrodev.com>
parents:
2616
diff
changeset
|
127 LDFLAGS+= --use-port=sdl2 --embed-file rom.db --embed-file default.cfg --embed-file systems.cfg \ |
ba2aba23b48e
Up heap memory for web build so large ROMs don't OOM
Michael Pavone <pavone@retrodev.com>
parents:
2616
diff
changeset
|
128 --embed-file shaders/ --embed-file images/ --embed-file DroidSans.ttf -sEXPORTED_FUNCTIONS=_main,_handle_chooser_result \ |
2658
99297d5f4c5d
Persist save states and config in emscripten build via IDBFS module
Michael Pavone <pavone@retrodev.com>
parents:
2619
diff
changeset
|
129 -sEXPORTED_RUNTIME_METHODS=ccall,cwrap,callMain -sINITIAL_HEAP=50331648 --pre-js emscripten_pre.js -lidbfs.js |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
130 EXE:=.html |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
131 else #CPU=wasm |
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
132 |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
133 ifdef PORTABLE |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
134 ifdef USE_GLES |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
135 ifndef GLES_LIB |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
136 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
|
137 endif |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
138 LDFLAGS:=-lm $(GLES_LIB) |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
139 else #USE_GLES |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
140 CFLAGS+= -DGLEW_STATIC -Iglew/include |
2329
06d5e9b08bdb
Add NTSC composite shader by Sik
Michael Pavone <pavone@retrodev.com>
parents:
2302
diff
changeset
|
141 LDFLAGS:=-lm glew/lib/libGLEW.a -lEGL |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
142 endif #USE_GLES |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
143 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
144 ifeq ($(OS),Darwin) |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
145 SDL_INCLUDE_PATH:=Frameworks/$(SDL_UPPER).framework/Headers |
2007
f612c1bd2c8b
Specify min OS X version when making a "portable" build for that platform
Michael Pavone <pavone@retrodev.com>
parents:
1999
diff
changeset
|
146 CFLAGS+= -mmacosx-version-min=10.10 |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
147 LDFLAGS+= -FFrameworks -framework $(SDL_UPPER) -framework OpenGL -framework AppKit -mmacosx-version-min=10.10 |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
148 FIXUP:=install_name_tool -change @rpath/$(SDL_UPPER).framework/Versions/A/$(SDL_UPPER) @executable_path/Frameworks/$(SDL_UPPER).framework/Versions/A/$(SDL_UPPER) |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
149 else #Darwin |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
150 ifeq ($(SDL),sdl3) |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
151 SDL_INCLUDE_PATH:=sdl/include/SDL3 |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
152 CFLAGS+= -Isdl/include -DSDL_ENABLE_OLD_NAMES |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
153 else |
1935
f23e70fb6607
Allow override of SDL2 include path for "portable" builds
Michael Pavone <pavone@retrodev.com>
parents:
1934
diff
changeset
|
154 SDL_INCLUDE_PATH:=sdl/include |
2573
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
155 endif |
639561060a28
Do a little work towards eventual support for building against SDL3
Michael Pavone <pavone@retrodev.com>
parents:
2558
diff
changeset
|
156 LDFLAGS+= -Wl,-rpath='$$ORIGIN/lib' -Llib -l$(SDL_UPPER) |
1658
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
157 ifndef USE_GLES |
fa9ae059e4d3
Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents:
1657
diff
changeset
|
158 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
|
159 endif |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
160 endif #Darwin |
1935
f23e70fb6607
Allow override of SDL2 include path for "portable" builds
Michael Pavone <pavone@retrodev.com>
parents:
1934
diff
changeset
|
161 CFLAGS+= -I$(SDL_INCLUDE_PATH) |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
162 |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
163 else #PORTABLE |
1822
8500bd987dda
Make libretro target successfully build for Windows and possibly Mac
Mike Pavone <pavone@retrodev.com>
parents:
1818
diff
changeset
|
164 ifeq ($(MAKECMDGOALS),libblastem.$(SO)) |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
165 LDFLAGS:=-lm |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
166 else |
1688
395f684c5379
Fixed the most glaring issues in libretro build
Mike Pavone <pavone@retrodev.com>
parents:
1687
diff
changeset
|
167 CFLAGS:=$(shell pkg-config --cflags-only-I $(LIBS)) $(CFLAGS) |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
168 LDFLAGS:=-lm $(shell pkg-config --libs $(LIBS)) |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
169 ifdef USE_FBDEV |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
170 LDFLAGS+= -pthread |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
171 endif |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
172 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
|
173 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
174 ifeq ($(OS),Darwin) |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
175 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
|
176 endif |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
177 |
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
178 endif #PORTABLE |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
179 endif #CPU=wasm |
824
3b8267fd1687
Allow for LTO on Windows
Michael Pavone <pavone@retrodev.com>
parents:
820
diff
changeset
|
180 endif #Windows |
761
ffb8cc5845fa
Add support for making a "portable" build on OSX to Makefile
Michael Pavone <pavone@retrodev.com>
parents:
755
diff
changeset
|
181 |
749
6f439a197f61
Fix check for DEBUG in Makefile
Michael Pavone <pavone@retrodev.com>
parents:
746
diff
changeset
|
182 ifdef DEBUG |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
183 OBJDIR:=obj/debug |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
184 OPT:=-g3 -O0 |
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
185 else |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
186 OBJDIR:=obj/release |
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
|
187 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
|
188 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
|
189 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
|
190 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
|
191 endif #NOLTO |
744
fc68992cf18d
Merge windows branch with latest changes
Michael Pavone <pavone@retrodev.com>
diff
changeset
|
192 endif #DEBUG |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
193 LIBOBJDIR:=$(OBJDIR)/lib |
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
|
194 |
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
|
195 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
|
196 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
|
197 |
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
|
198 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
|
199 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
|
200 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
|
201 |
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
|
202 ifdef PROFILE |
1751
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
203 PROFFLAGS:= -Wl,--no-as-needed -lprofiler -Wl,--as-needed |
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
204 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
|
205 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
|
206 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
|
207 CFLAGS+= -DDISABLE_OPENGL |
39cad98d2789
Allow OpenGL support to be disabled at compile time. Move generic utility functions out of config.c
Mike Pavone <pavone@retrodev.com>
parents:
488
diff
changeset
|
208 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
|
209 |
630
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
210 ifdef M68030 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
211 CFLAGS+= -DM68030 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
212 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
213 ifdef M68020 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
214 CFLAGS+= -DM68020 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
215 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
216 ifdef M68010 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
217 CFLAGS+= -DM68010 |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
218 endif |
47123183c336
Improve support for disassembling 68010+ binaries
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
219 |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
220 ifndef CPU |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
221 CPU:=$(shell uname -m) |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
222 endif |
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
223 |
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 #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
|
225 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
|
226 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
|
227 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
|
228 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
|
229 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
|
230 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
|
231 endif |
2595
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
232 ifeq ($(CPU),x86_64) |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
233 CFLAGS+=-DX86_64 -m64 |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
234 LDFLAGS+=-m64 |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
235 else |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
236 ifeq ($(CPU),i686) |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
237 CFLAGS+=-DX86_32 -m32 |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
238 LDFLAGS+=-m32 |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
239 else |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
240 NEW_CORE:=1 |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
241 endif |
eb4b37c14c93
Default to new interpreter when non-x86 CPU detected
Michael Pavone <pavone@retrodev.com>
parents:
2573
diff
changeset
|
242 endif |
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
|
243 |
1303
208803173ebc
Implemented M68K trace mode. Some edge cases/SR update paths still need work
Michael Pavone <pavone@retrodev.com>
parents:
1299
diff
changeset
|
244 TRANSOBJS=gen.o backend.o $(MEM) arena.o tern.o |
2213
53411df7fc71
More 68K disassembler refactoring and fix Windows build failure
Michael Pavone <pavone@retrodev.com>
parents:
2206
diff
changeset
|
245 M68KOBJS=68kinst.o disasm.o |
1838
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
246 |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
247 ifdef NO_FILE_CHOOSER |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
248 CHOOSER:=nuklear_ui/filechooser_nulll.o |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
249 endif |
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
250 |
1838
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
251 ifdef NEW_CORE |
2058
70260f6051dd
Initial work on CDC emulation
Michael Pavone <pavone@retrodev.com>
parents:
2053
diff
changeset
|
252 Z80OBJS=z80.o z80inst.o |
1838
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
253 M68KOBJS+= m68k.o |
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
254 CFLAGS+= -DNEW_CORE |
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
255 else |
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
256 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
|
257 ifeq ($(CPU),x86_64) |
1838
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
258 M68KOBJS+= m68k_core.o 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
|
259 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
|
260 else |
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
261 ifeq ($(CPU),i686) |
1838
0c1491818f4b
WIP new 68K core using CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1823
diff
changeset
|
262 M68KOBJS+= m68k_core.o 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
|
263 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
|
264 endif |
96489fb27dbf
Apart from the Z80 core, BlastEm now supports 32-bit x86
Michael Pavone <pavone@retrodev.com>
parents:
548
diff
changeset
|
265 endif |
1703
49a52c737bf0
Fix zero flag calculation in CPU DSL
Michael Pavone <pavone@retrodev.com>
parents:
1693
diff
changeset
|
266 endif |
2558
3f58fec775df
Initial work on YMF262 (aka OPL3) emulation
Michael Pavone <pavone@retrodev.com>
parents:
2545
diff
changeset
|
267 AUDIOOBJS=ym2612.o ymf262.o ym_common.o psg.o wave.o flac.o vgm.o event_log.o render_audio.o rf5c164.o |
2058
70260f6051dd
Initial work on CDC emulation
Michael Pavone <pavone@retrodev.com>
parents:
2053
diff
changeset
|
268 CONFIGOBJS=config.o tern.o util.o paths.o |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
269 NUKLEAROBJS=$(FONT) $(CHOOSER) nuklear_ui/blastem_nuklear.o nuklear_ui/sfnt.o |
1927
9fd4bedc1a31
Update libretro target to use render_audio shared audio code
Mike Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
270 RENDEROBJS=ppm.o controller_info.o |
1779
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
271 ifdef USE_FBDEV |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
272 RENDEROBJS+= render_fbdev.o |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
273 else |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
274 RENDEROBJS+= render_sdl.o |
3a8c4ee68568
Added raw fbdev/evdev/ALSA render backend
Michael Pavone <pavone@retrodev.com>
parents:
1762
diff
changeset
|
275 endif |
2058
70260f6051dd
Initial work on CDC emulation
Michael Pavone <pavone@retrodev.com>
parents:
2053
diff
changeset
|
276 |
1543
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
277 ifdef NOZLIB |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
278 CFLAGS+= -DDISABLE_ZLIB |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
279 else |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
280 RENDEROBJS+= $(LIBZOBJS) png.o |
bed941c9bc86
Fix no-default targets
Michael Pavone <pavone@retrodev.com>
parents:
1537
diff
changeset
|
281 endif |
419
d1bf9734ce94
Cleanup makefile and link math library
Mike Pavone <pavone@retrodev.com>
parents:
408
diff
changeset
|
282 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
283 COREOBJS:=system.o genesis.o vdp.o io.o romdb.o hash.o xband.o realtec.o i2c.o nor.o $(M68KOBJS) \ |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
284 sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
285 $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o gen_player.o coleco.o pico_pcm.o ymz263b.o \ |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
286 segacd.o lc8951.o cdimage.o cdd_mcu.o cd_graphics.o cdd_fader.o sft_mapper.o mediaplayer.o |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
287 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
288 ifdef NOZ80 |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
289 CFLAGS+=-DNO_Z80 |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
290 else |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
291 COREOBJS+= sms.o i8255.o $(Z80OBJS) |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
292 endif |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
293 |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
294 MAINOBJS:=$(COREOBJS) blastem.o $(RENDEROBJS) zip.o menu.o debug.o gdb_remote.o bindings.o oscilloscope.o |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
295 |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
296 LIBOBJS:=$(COREOBJS) libblastem.o rom.db.o $(LIBZOBJS) |
2058
70260f6051dd
Initial work on CDC emulation
Michael Pavone <pavone@retrodev.com>
parents:
2053
diff
changeset
|
297 |
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
|
298 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
|
299 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
|
300 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
|
301 MAINOBJS+= $(NUKLEAROBJS) |
2355
94cf5cc89227
Add an option to use the system file picker on Linux and Windows
Michael Pavone <pavone@retrodev.com>
parents:
2329
diff
changeset
|
302 LDFLAGS+=$(EXTRA_NUKLEAR_LDFLAGS) |
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
|
303 endif |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
304 |
977
4cbc349a82a9
Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents:
941
diff
changeset
|
305 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
|
306 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
|
307 endif |
4cbc349a82a9
Inclue menu.bin in release directories. Added a Windows RC file and icon
Michael Pavone <pavone@retrodev.com>
parents:
941
diff
changeset
|
308 |
1693
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
309 ifdef CONFIG_PATH |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
310 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
|
311 endif |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
312 |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
313 ifdef DATA_PATH |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
314 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
|
315 endif |
ba3fb7a3be6b
Added some Makefile options to build a packaging friendly executable
Michael Pavone <pavone@retrodev.com>
parents:
1688
diff
changeset
|
316 |
1934
253c62b7144e
Allow specifying a default font path at build time
Michael Pavone <pavone@retrodev.com>
parents:
1930
diff
changeset
|
317 ifdef FONT_PATH |
253c62b7144e
Allow specifying a default font path at build time
Michael Pavone <pavone@retrodev.com>
parents:
1930
diff
changeset
|
318 CFLAGS+= -DFONT_PATH='"'$(FONT_PATH)'"' |
253c62b7144e
Allow specifying a default font path at build time
Michael Pavone <pavone@retrodev.com>
parents:
1930
diff
changeset
|
319 endif |
253c62b7144e
Allow specifying a default font path at build time
Michael Pavone <pavone@retrodev.com>
parents:
1930
diff
changeset
|
320 |
2289
92449b47cce8
Integrate VGM player into main blastem binary
Michael Pavone <pavone@retrodev.com>
parents:
2253
diff
changeset
|
321 ALL=dis$(EXE) zdis$(EXE) blastem$(EXE) |
805 | 322 ifneq ($(OS),Windows) |
323 ALL+= termhelper | |
742
2e1b3b258523
Make Windows port a little less half-assed
Michael Pavone <pavone@retrodev.com>
parents:
741
diff
changeset
|
324 endif |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
325 DISOBJS:=dis.o disasm.o backend.o 68kinst.o tern.o vos_program_module.o util.o |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
326 MTESTOBJS:=trans.o serialize.o $(M68KOBJS) $(TRANSOBJS) util.o |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
327 ZTESTOBJS:=ztestrun.o serialize.o $(Z80OBJS) $(TRANSOBJS) util.o |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
328 CPMOBJS:=blastcpm.o util.o serialize.o $(Z80OBJS) $(TRANSOBJS) |
548
a3afee2271ce
Initial work on the x86-32 target
Michael Pavone <pavone@retrodev.com>
parents:
524
diff
changeset
|
329 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
330 LIBCFLAGS=$(CFLAGS) -fpic -DIS_LIB -DDISABLE_ZLIB |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
331 |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
332 all : $(ALL) |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
333 |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
334 ORDERONLY:=$(OBJDIR) |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
335 LIBORDERONLY:=$(LIBOBJDIR) |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
336 ifdef NEW_CORE |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
337 ifeq ($(wildcard $(OBJDIR)/*.d),) |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
338 ORDERONLY+= m68k.c z80.c |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
339 endif |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
340 ifeq ($(wildcard $(LIBOBJDIR)/*.d),) |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
341 LIBORDERONLY+= m68k.c z80.c |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
342 endif |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
343 endif |
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
344 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
345 -include $(MAINOBJS:%.o=$(OBJDIR)/%.d) |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
346 -include $(LIBOBJS:%.o=$(LIBOBJDIR)/%.d) |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
347 -include $(DISOBJS:.o=$(OBJDIR)/%.d) |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
348 -include $(OBJDIR)/trans.d |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
349 -include $(OBJDIR)/ztestrun.d |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
350 -include $(OBJDIR)/blastcpm.d |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
351 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
352 $(OBJDIR) : |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
353 mkdir -p $(OBJDIR)/nuklear_ui |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
354 mkdir -p $(OBJDIR)/zlib |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
355 |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
356 $(LIBOBJDIR) : |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
357 mkdir -p $(LIBOBJDIR)/zlib |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
358 |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
359 libblastem.$(SO) : $(LIBOBJS:%.o=$(LIBOBJDIR)/%.o) |
1687
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
360 $(CC) -shared -o $@ $^ $(LDFLAGS) |
6c54bb5fe3b3
Hacky WIP libertro implementation
Michael Pavone <pavone@retrodev.com>
parents:
1658
diff
changeset
|
361 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
362 blastem$(EXE) : $(MAINOBJS:%.o=$(OBJDIR)/%.o) |
1751
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
363 $(CC) -o $@ $^ $(LDFLAGS) $(PROFFLAGS) |
805 | 364 $(FIXUP) ./$@ |
2058
70260f6051dd
Initial work on CDC emulation
Michael Pavone <pavone@retrodev.com>
parents:
2053
diff
changeset
|
365 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
366 termhelper : $(OBJDIR)/termhelper.o |
1080
382614130914
Some initial work on Atari Jaguar emulation
Michael Pavone <pavone@retrodev.com>
parents:
1073
diff
changeset
|
367 $(CC) -o $@ $^ $(LDFLAGS) |
16 | 368 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
369 dis$(EXE) : $(DISOBJS:%.o=$(OBJDIR)/%.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
|
370 $(CC) -o $@ $^ $(OPT) |
2058
70260f6051dd
Initial work on CDC emulation
Michael Pavone <pavone@retrodev.com>
parents:
2053
diff
changeset
|
371 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
372 jagdis : $(OBJDIR)/jagdis.o $(OBJDIR)/jagcpu.o $(OBJDIR)/tern.o |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
373 $(CC) -o $@ $^ $(OPT) |
199
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
374 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
375 zdis$(EXE) : $(OBJDIR)/zdis.o $(OBJDIR)/z80inst.o |
1990
57ae42c3ab45
Fix 68k test harness target, add cycle count to output and add a cycle limit
Michael Pavone <pavone@retrodev.com>
parents:
1986
diff
changeset
|
376 $(CC) -o $@ $^ $(OPT) |
235
d9bf8e61c33c
Get Z80 core working for simple programs
Mike Pavone <pavone@retrodev.com>
parents:
229
diff
changeset
|
377 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
378 trans : $(MTESTOBJS:%.o=$(OBJDIR)/%.o) |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
379 $(CC) -o $@ $^ $(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
|
380 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
381 ztestrun : $(ZTESTOBJS:%.o=$(OBJDIR)/%.o) |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
382 $(CC) -o $@ $^ $(OPT) |
292
b970ea214ecb
Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents:
288
diff
changeset
|
383 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
384 ztestgen : $(OBJDIR)/ztestgen.o $(OBJDIR)/z80inst.o |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
385 $(CC) -o $@ $^ $(OPT) |
292
b970ea214ecb
Added z80 test generator and z80 test runner.
Mike Pavone <pavone@retrodev.com>
parents:
288
diff
changeset
|
386 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
387 blastcpm : $(CPMOBJS:%.o=$(OBJDIR)/%.o) |
1751
c5d4e1d14dac
Allow profiling blastcpm with perftools
Michael Pavone <pavone@retrodev.com>
parents:
1749
diff
changeset
|
388 $(CC) -o $@ $^ $(OPT) $(PROFFLAGS) |
408
a13a83934ba3
Add primitive vgm player for testing
Mike Pavone <pavone@retrodev.com>
parents:
407
diff
changeset
|
389 |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
390 vos_prog_info : $(OBJDIR)/vos_prog_info.o $(OBJDIR)/vos_program_module.o |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
391 $(CC) -o $@ $^ $(OPT) |
631
de6f00204fa2
Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents:
630
diff
changeset
|
392 |
2600
251cc75574af
Basic emscripten support
Michael Pavone <pavone@retrodev.com>
parents:
2595
diff
changeset
|
393 .PRECIOUS: %.c |
2606
486e07a62469
GNU make before 4.3 does not support :& syntax, but apparently pattern rules support grouped targets without it
Michael Pavone <pavone@retrodev.com>
parents:
2605
diff
changeset
|
394 %.c %.h : %.cpu cpu_dsl.py |
486e07a62469
GNU make before 4.3 does not support :& syntax, but apparently pattern rules support grouped targets without it
Michael Pavone <pavone@retrodev.com>
parents:
2605
diff
changeset
|
395 ./cpu_dsl.py -d $(shell echo $@ | sed -E -e "s/^z80.*$$/$(Z80_DISPATCH)/" -e '/^goto/! s/^.*$$/call/') $< > $(shell echo $@ | sed -E 's/\.[ch]$$/./')c |
631
de6f00204fa2
Add support for disassembling VOS program modules
Michael Pavone <pavone@retrodev.com>
parents:
630
diff
changeset
|
396 |
1818
243f3a7247f9
Include ROM DB in library binary for libretro target
Mike Pavone <pavone@retrodev.com>
parents:
1795
diff
changeset
|
397 %.db.c : %.db |
243f3a7247f9
Include ROM DB in library binary for libretro target
Mike Pavone <pavone@retrodev.com>
parents:
1795
diff
changeset
|
398 sed $< -e 's/"/\\"/g' -e 's/^\(.*\)$$/"\1\\n"/' -e'1s/^\(.*\)$$/const char $(shell echo $< | tr '.' '_')_data[] = \1/' -e '$$s/^\(.*\)$$/\1;/' > $@ |
243f3a7247f9
Include ROM DB in library binary for libretro target
Mike Pavone <pavone@retrodev.com>
parents:
1795
diff
changeset
|
399 |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
400 $(OBJDIR)/%.o : %.S | $(ORDERONLY) |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
401 $(CC) -c -MMD -o $@ $< |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
402 |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
403 $(OBJDIR)/%.o : %.c | $(ORDERONLY) |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
404 $(CC) $(CFLAGS) -c -MMD -o $@ $< |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
405 |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
406 $(OBJDIR)/%.o : %.m | $(ORDERONLY) |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
407 $(CC) $(CFLAGS) -c -MMD -o $@ $< |
16 | 408 |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
409 $(LIBOBJDIR)/%.o : %.S | $(LIBORDERONLY) |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
410 $(CC) -c -MMD -o $@ $< |
2058
70260f6051dd
Initial work on CDC emulation
Michael Pavone <pavone@retrodev.com>
parents:
2053
diff
changeset
|
411 |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
412 $(LIBOBJDIR)/%.o : %.c | $(LIBORDERONLY) |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
413 $(CC) $(LIBCFLAGS) -c -MMD -o $@ $< |
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
414 |
2688
b42f00a3a937
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
Michael Pavone <pavone@retrodev.com>
parents:
2685
diff
changeset
|
415 $(LIBOBJDIR)/%.o : %.m | $(LIBORDERONLY) |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
416 $(CC) $(LIBCFLAGS) -c -MMD -o $@ $< |
1537
b4914d92308b
Added OSX implementation of default_font
Michael Pavone <pavone@retrodev.com>
parents:
1534
diff
changeset
|
417 |
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
|
418 %.png : %.xcf |
2166
3a6680e9204a
xcftools is no longer packaged by Debian/Ubuntu so switched to imagemagick
Michael Pavone <pavone@retrodev.com>
parents:
2114
diff
changeset
|
419 convert -background none -flatten $< $@ |
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
|
420 |
40703069bb68
Get everything needed to build menu.bin either committed or buildable via the Makefile
Michael Pavone <pavone@retrodev.com>
parents:
836
diff
changeset
|
421 %.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
|
422 ./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
|
423 |
3e7bfde7606e
M68K to x86 translation works for a limited subset of instructions and addressing modes
Mike Pavone <pavone@retrodev.com>
parents:
16
diff
changeset
|
424 %.bin : %.s68 |
646
fa345ce3e5bd
Produce a listing file when assembling 68K test ROMs
Michael Pavone <pavone@retrodev.com>
parents:
631
diff
changeset
|
425 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ -L $@.list $< |
16 | 426 |
2035
33f454232aee
Added open source TMSS replacement
Michael Pavone <pavone@retrodev.com>
parents:
2007
diff
changeset
|
427 %.md : %.s68 |
33f454232aee
Added open source TMSS replacement
Michael Pavone <pavone@retrodev.com>
parents:
2007
diff
changeset
|
428 vasmm68k_mot -Fbin -m68000 -no-opt -spaces -o $@ -L $@.list $< |
33f454232aee
Added open source TMSS replacement
Michael Pavone <pavone@retrodev.com>
parents:
2007
diff
changeset
|
429 |
199
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
430 %.bin : %.sz8 |
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
431 vasmz80_mot -Fbin -spaces -o $@ $< |
2607 | 432 $(OBJDIR)/res.o : blastem.rc |
433 $(WINDRES) $< $@ | |
199
69585e7d474f
Add initial stab at Z80 decoder and disassembler
Mike Pavone <pavone@retrodev.com>
parents:
118
diff
changeset
|
434 |
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
|
435 arrow.tiles : arrow.png |
909
e60eb88d7b09
Added mouse support to menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
883
diff
changeset
|
436 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
|
437 font_interlace_variable.tiles : font_interlace_variable.png |
917
f057975212e9
Added button graphic for menu
Michael Pavone <pavone@retrodev.com>
parents:
909
diff
changeset
|
438 button.tiles : button.png |
1025
01a91df5b87c
Add missing dependency for font.tiles in Makefile
Michael Pavone <pavone@retrodev.com>
parents:
977
diff
changeset
|
439 font.tiles : font.png |
941
c96647630320
WIP buttons in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
917
diff
changeset
|
440 |
c96647630320
WIP buttons in menu ROM
Michael Pavone <pavone@retrodev.com>
parents:
917
diff
changeset
|
441 menu.bin : font_interlace_variable.tiles arrow.tiles cursor.tiles button.tiles font.tiles |
2035
33f454232aee
Added open source TMSS replacement
Michael Pavone <pavone@retrodev.com>
parents:
2007
diff
changeset
|
442 tmss.md : 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
|
443 |
16 | 444 clean : |
2601
6a84a38b3cf9
Handle dependencies properly in makefile
Michael Pavone <pavone@retrodev.com>
parents:
2600
diff
changeset
|
445 rm -rf $(ALL) trans ztestrun ztestgen *.o nuklear_ui/*.o zlib/*.o $(OBJDIR) |