Created
September 18, 2018 01:51
Star
You must be signed in to star a gist
Changes required to build Supermodel3 emulator on MacOSX (rev-741+)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ## | |
| ## Supermodel | |
| ## A Sega Model 3 Arcade Emulator. | |
| ## Copyright 2011-2017 Bart Trzynadlowski, Nik Henson, Ian Curtis | |
| ## | |
| ## This file is part of Supermodel. | |
| ## | |
| ## Supermodel is free software: you can redistribute it and/or modify it under | |
| ## the terms of the GNU General Public License as published by the Free | |
| ## Software Foundation, either version 3 of the License, or (at your option) | |
| ## any later version. | |
| ## | |
| ## Supermodel is distributed in the hope that it will be useful, but WITHOUT | |
| ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
| ## more details. | |
| ## | |
| ## You should have received a copy of the GNU General Public License along | |
| ## with Supermodel. If not, see <http://www.gnu.org/licenses/>. | |
| ## | |
| # | |
| # Makefile.inc | |
| # | |
| # Core GNU Makefile, included by all (platform-specific) top-level Makefiles. | |
| # | |
| ############################################################################### | |
| # Required Libraries | |
| # | |
| # Edit these paths as necessary. | |
| ############################################################################### | |
| # | |
| # SDL | |
| # | |
| SDL_LDFLAGS = -framework SDL -framework AGL -framework OpenGL -framework GLUT -framework Cocoa | |
| SDL_INCLUDEPATH = | |
| ############################################################################### | |
| # Outputs | |
| ############################################################################### | |
| OUTFILE = Supermodel | |
| OBJ_DIR = obj | |
| BIN_DIR = bin | |
| OUTFILE = $(BIN_DIR)/Supermodel | |
| ############################################################################### | |
| # Compiler | |
| ############################################################################### | |
| CC = gcc | |
| OCC = gcc | |
| LD = gcc | |
| CXX = g++ | |
| COMPILER_FLAGS = -I$(OBJ_DIR) -ISrc/ -ISrc/OSD -ISrc/OSD/SDL/ -ISrc/Pkgs/ -ISrc/CPU/68K/Musashi -ISrc/Sound/MPEG -c -Wall -O3 -DUSE_FILE32API -DSUPERMODEL_OSX -F/Library/Frameworks/ | |
| CFLAGS = $(COMPILER_FLAGS) | |
| CPPFLAGS = $(COMPILER_FLAGS) -std=c++11 | |
| LFLAGS = -o $(OUTFILE) $(SDL_LDFLAGS) -lz -lm -lstdc++ -F/Library/Frameworks/ | |
| # | |
| # Build options... | |
| # | |
| # Add compiler flags for various options | |
| ifeq ($(strip $(ENABLE_DEBUGGER)),yes) | |
| COMPILER_FLAGS += -DSUPERMODEL_DEBUGGER | |
| endif | |
| ############################################################################### | |
| # Build Instructions | |
| ############################################################################### | |
| # | |
| # Objects and Dependencies | |
| # | |
| HEADERS = Src/Supermodel.h Src/Games.h Src/OSD/SDL/Types.h | |
| OBJ = $(OBJ_DIR)/PPCDisasm.o $(OBJ_DIR)/BlockFile.o $(OBJ_DIR)/93C46.o \ | |
| $(OBJ_DIR)/unzip.o $(OBJ_DIR)/ioapi.o $(OBJ_DIR)/Error.o $(OBJ_DIR)/glew.o $(OBJ_DIR)/Shader.o \ | |
| $(OBJ_DIR)/JTAG.o $(OBJ_DIR)/Real3D.o $(OBJ_DIR)/Legacy3D.o $(OBJ_DIR)/Models.o $(OBJ_DIR)/TextureRefs.o \ | |
| $(OBJ_DIR)/New3D.o $(OBJ_DIR)/Mat4.o $(OBJ_DIR)/Model.o $(OBJ_DIR)/PolyHeader.o $(OBJ_DIR)/Texture.o $(OBJ_DIR)/TextureSheet.o $(OBJ_DIR)/VBO.o $(OBJ_DIR)/Vec.o $(OBJ_DIR)/R3DShader.o $(OBJ_DIR)/R3DFloat.o $(OBJ_DIR)/R3DScrollFog.o \ | |
| $(OBJ_DIR)/Render2D.o $(OBJ_DIR)/R3DFrameBuffers.o $(OBJ_DIR)/TileGen.o \ | |
| $(OBJ_DIR)/Model3.o $(OBJ_DIR)/ppc.o $(OBJ_DIR)/Main.o $(OBJ_DIR)/Audio.o $(OBJ_DIR)/Thread.o $(OBJ_DIR)/SoundBoard.o \ | |
| $(OBJ_DIR)/SCSP.o $(OBJ_DIR)/SCSPDSP.o $(OBJ_DIR)/68K.o $(OBJ_DIR)/m68kcpu.o $(OBJ_DIR)/m68kopnz.o $(OBJ_DIR)/m68kopdm.o \ | |
| $(OBJ_DIR)/m68kopac.o $(OBJ_DIR)/m68kops.o $(OBJ_DIR)/DSB.o $(OBJ_DIR)/Z80.o \ | |
| $(OBJ_DIR)/IRQ.o $(OBJ_DIR)/53C810.o $(OBJ_DIR)/PCI.o $(OBJ_DIR)/RTC72421.o $(OBJ_DIR)/DriveBoard.o \ | |
| $(OBJ_DIR)/MPC10x.o $(OBJ_DIR)/Input.o $(OBJ_DIR)/Inputs.o $(OBJ_DIR)/InputSource.o $(OBJ_DIR)/InputSystem.o \ | |
| $(OBJ_DIR)/InputTypes.o $(OBJ_DIR)/MultiInputSource.o $(OBJ_DIR)/SDLInputSystem.o \ | |
| $(OBJ_DIR)/Outputs.o \ | |
| $(OBJ_DIR)/amp_audio.o $(OBJ_DIR)/dump.o $(OBJ_DIR)/getbits.o $(OBJ_DIR)/getdata.o $(OBJ_DIR)/huffman.o \ | |
| $(OBJ_DIR)/layer2.o $(OBJ_DIR)/layer3.o $(OBJ_DIR)/misc2.o $(OBJ_DIR)/position.o $(OBJ_DIR)/transform.o \ | |
| $(OBJ_DIR)/util.o \ | |
| $(OBJ_DIR)/Crypto.o \ | |
| $(OBJ_DIR)/Format.o \ | |
| $(OBJ_DIR)/Logger.o \ | |
| $(OBJ_DIR)/SDLMain_tmpl.o \ | |
| $(OBJ_DIR)/tinyxml2.o \ | |
| $(OBJ_DIR)/BitRegister.o \ | |
| $(OBJ_DIR)/GLSLShader.o \ | |
| $(OBJ_DIR)/ByteSwap.o $(OBJ_DIR)/NewConfig.o $(OBJ_DIR)/ConfigBuilders.o $(OBJ_DIR)/GameLoader.o $(OBJ_DIR)/ROMSet.o | |
| # If built-in debugger enabled, include all debugging classes | |
| ifeq ($(strip $(ENABLE_DEBUGGER)),yes) | |
| OBJ += $(OBJ_DIR)/Debugger.o $(OBJ_DIR)/ConsoleDebugger.o $(OBJ_DIR)/SupermodelDebugger.o $(OBJ_DIR)/CPUDebug.o \ | |
| $(OBJ_DIR)/AddressTable.o $(OBJ_DIR)/Breakpoint.o $(OBJ_DIR)/CodeAnalyser.o $(OBJ_DIR)/Exception.o \ | |
| $(OBJ_DIR)/Interrupt.o $(OBJ_DIR)/IO.o $(OBJ_DIR)/Label.o $(OBJ_DIR)/Register.o $(OBJ_DIR)/Watch.o \ | |
| $(OBJ_DIR)/PPCDebug.o $(OBJ_DIR)/68KDebug.o $(OBJ_DIR)/Musashi68KDebug.o $(OBJ_DIR)/Z80Debug.o | |
| endif | |
| # | |
| ############################################################################### | |
| # Build Options | |
| ############################################################################### | |
| # | |
| # Verbose progression | |
| # | |
| VERBOSE = | |
| ifneq ($(filter $(strip $(VERBOSE)),0 1),$(strip $(VERBOSE))) | |
| override VERBOSE = | |
| endif | |
| SILENT = @ | |
| ifeq ($(strip $(VERBOSE)),1) | |
| SILENT = | |
| endif | |
| # | |
| # Enable render state analyser for the legacy 3D engine (will slow down emulation!) | |
| # | |
| DEBUG = | |
| ifneq ($(filter $(strip $(DEBUG)),0 1),$(strip $(DEBUG))) | |
| override DEBUG = | |
| endif | |
| # | |
| # Enable support for Model3 Net Board emulation | |
| # | |
| NET_BOARD = | |
| ifneq ($(filter $(strip $(NET_BOARD)),0 1),$(strip $(NET_BOARD))) | |
| override NET_BOARD = | |
| endif | |
| # | |
| # Enable Bart's new (experimental) Real3D frame timing | |
| # | |
| NEW_FRAME_TIMING = | |
| ifneq ($(filter $(strip $(NEW_FRAME_TIMING)),0 1),$(strip $(NEW_FRAME_TIMING))) | |
| override NEW_FRAME_TIMING = | |
| endif | |
| # | |
| # Include console-based debugger in emulator ('yes' or 'no') | |
| # | |
| ENABLE_DEBUGGER = | |
| ifneq ($(filter $(strip $(ENABLE_DEBUGGER)),0 1),$(strip $(ENABLE_DEBUGGER))) | |
| override ENABLE_DEBUGGER = | |
| endif | |
| ############################################################################### | |
| # Source Files | |
| ############################################################################### | |
| SRC_FILES = \ | |
| Src/CPU/PowerPC/PPCDisasm.cpp \ | |
| Src/BlockFile.cpp \ | |
| Src/Pkgs/unzip.cpp \ | |
| Src/Pkgs/ioapi.cpp \ | |
| Src/Model3/93C46.cpp \ | |
| Src/Util/BitRegister.cpp \ | |
| Src/JTAG.cpp \ | |
| Src/Graphics/Legacy3D/Error.cpp \ | |
| Src/Pkgs/glew.cpp \ | |
| Src/Graphics/Shader.cpp \ | |
| Src/Model3/Real3D.cpp \ | |
| Src/Graphics/Legacy3D/Legacy3D.cpp \ | |
| Src/Graphics/Legacy3D/Models.cpp \ | |
| Src/Graphics/Legacy3D/TextureRefs.cpp \ | |
| Src/Graphics/New3D/New3D.cpp \ | |
| Src/Graphics/New3D/Mat4.cpp \ | |
| Src/Graphics/New3D/Model.cpp \ | |
| Src/Graphics/New3D/PolyHeader.cpp \ | |
| Src/Graphics/New3D/Texture.cpp \ | |
| Src/Graphics/New3D/TextureSheet.cpp \ | |
| Src/Graphics/New3D/VBO.cpp \ | |
| Src/Graphics/New3D/Vec.cpp \ | |
| Src/Graphics/New3D/R3DShader.cpp \ | |
| Src/Graphics/New3D/R3DFrameBuffers.cpp \ | |
| Src/Graphics/New3D/R3DFloat.cpp \ | |
| Src/Graphics/New3D/R3DScrollFog.cpp \ | |
| Src/Graphics/New3D/GLSLShader.cpp \ | |
| Src/Graphics/Render2D.cpp \ | |
| Src/Model3/TileGen.cpp \ | |
| Src/Model3/Model3.cpp \ | |
| Src/CPU/PowerPC/ppc.cpp \ | |
| Src/OSD/SDL/Main.cpp \ | |
| Src/OSD/SDL/Audio.cpp \ | |
| Src/OSD/SDL/Thread.cpp \ | |
| Src/Model3/SoundBoard.cpp \ | |
| Src/Sound/SCSP.cpp \ | |
| Src/Sound/SCSPDSP.cpp \ | |
| Src/CPU/68K/68K.cpp \ | |
| $(OBJ_DIR)/m68kcpu.c \ | |
| $(OBJ_DIR)/m68kopnz.c \ | |
| $(OBJ_DIR)/m68kopdm.c \ | |
| $(OBJ_DIR)/m68kopac.c \ | |
| $(OBJ_DIR)/m68kops.c \ | |
| Src/Model3/DSB.cpp \ | |
| Src/CPU/Z80/Z80.cpp \ | |
| Src/Model3/IRQ.cpp \ | |
| Src/Model3/53C810.cpp \ | |
| Src/Model3/PCI.cpp \ | |
| Src/Model3/RTC72421.cpp \ | |
| Src/Model3/DriveBoard.cpp \ | |
| Src/Model3/MPC10x.cpp \ | |
| Src/Inputs/Input.cpp \ | |
| Src/Inputs/Inputs.cpp \ | |
| Src/Inputs/InputSource.cpp \ | |
| Src/Inputs/InputSystem.cpp \ | |
| Src/Inputs/InputTypes.cpp \ | |
| Src/Inputs/MultiInputSource.cpp \ | |
| Src/OSD/SDL/SDLInputSystem.cpp \ | |
| Src/OSD/Outputs.cpp \ | |
| Src/Sound/MPEG/amp_audio.cpp \ | |
| Src/Sound/MPEG/dump.cpp \ | |
| Src/Sound/MPEG/getbits.cpp \ | |
| Src/Sound/MPEG/getdata.cpp \ | |
| Src/Sound/MPEG/huffman.cpp \ | |
| Src/Sound/MPEG/layer2.cpp \ | |
| Src/Sound/MPEG/layer3.cpp \ | |
| Src/Sound/MPEG/misc2.cpp \ | |
| Src/Sound/MPEG/position.cpp \ | |
| Src/Sound/MPEG/transform.cpp \ | |
| Src/Sound/MPEG/util.cpp \ | |
| Src/Model3/Crypto.cpp \ | |
| Src/OSD/Logger.cpp \ | |
| Src/Util/Format.cpp \ | |
| Src/Util/NewConfig.cpp \ | |
| Src/Util/ByteSwap.cpp \ | |
| Src/Util/ConfigBuilders.cpp \ | |
| Src/GameLoader.cpp \ | |
| Src/Pkgs/tinyxml2.cpp \ | |
| Src/ROMSet.cpp \ | |
| $(PLATFORM_SRC_FILES) | |
| ifeq ($(strip $(NET_BOARD)),1) | |
| SRC_FILES += \ | |
| Src/Network/UDPReceive.cpp \ | |
| Src/Network/UDPSend.cpp \ | |
| Src/Network/WinSockWrap.cpp \ | |
| Src/Network/NetBoard.cpp | |
| endif | |
| ifeq ($(strip $(ENABLE_DEBUGGER)),1) | |
| SRC_FILES += \ | |
| Src/Debugger/Debugger.cpp \ | |
| Src/Debugger/ConsoleDebugger.cpp \ | |
| Src/Debugger/SupermodelDebugger.cpp \ | |
| Src/Debugger/CPUDebug.cpp \ | |
| Src/Debugger/AddressTable.cpp \ | |
| Src/Debugger/Breakpoint.cpp \ | |
| Src/Debugger/CodeAnalyser.cpp \ | |
| Src/Debugger/Exception.cpp \ | |
| Src/Debugger/Interrupt.cpp \ | |
| Src/Debugger/DebuggerIO.cpp \ | |
| Src/Debugger/Label.cpp \ | |
| Src/Debugger/Register.cpp \ | |
| Src/Debugger/Watch.cpp \ | |
| Src/Debugger/CPU/PPCDebug.cpp \ | |
| Src/Debugger/CPU/68KDebug.cpp \ | |
| Src/Debugger/CPU/Musashi68KDebug.cpp \ | |
| Src/Debugger/CPU/Z80Debug.cpp | |
| endif | |
| # | |
| # Sorted-path compile order | |
| # | |
| OBJ_FILES = $(foreach file,$(SRC_FILES),$(OBJ_DIR)/$(basename $(notdir $(file))).o) | |
| # | |
| # Deduce include directories from the source file list. The sort function | |
| # removes duplicates and is used to construct a set. | |
| # | |
| INCLUDE_DIRS = $(sort $(foreach file,$(SRC_FILES),$(dir $(file)))) | |
| ############################################################################### | |
| # Output Locations | |
| ############################################################################### | |
| OBJ_DIR = obj$(strip $(BITS)) | |
| BIN_DIR = bin$(strip $(BITS)) | |
| OUTFILE = supermodel | |
| ############################################################################### | |
| # Compiler Flags | |
| ############################################################################### | |
| ARCH = -march=native -mfpmath=sse | |
| BUILD_CFLAGS = | |
| OPT = -O3 | |
| WARN = -Wall | |
| CSTD = -std=iso9899:2011 | |
| CXXSTD = -std=c++11 | |
| COMMON_CFLAGS = -c $(ARCH) $(OPT) $(WARN) $(addprefix -I,$(sort $(INCLUDE_DIRS))) $(COMPILER_FLAGS) -DGLEW_STATIC | |
| CFLAGS = $(COMMON_CFLAGS) $(PLATFORM_CFLAGS) $(CSTD) | |
| CXXFLAGS = $(PLATFORM_CFLAGS) $(COMMON_CFLAGS) $(PLATFORM_CFLAGS) $(BUILD_CFLAGS) $(CXXSTD) | |
| LDFLAGS = -o $(BIN_DIR)/$(OUTFILE) $(PLATFORM_LDFLAGS) -s | |
| # If render state analyser is enabled, need to define DEBUG | |
| ifeq ($(strip $(DEBUG)),1) | |
| BUILD_CFLAGS += -DDEBUG | |
| endif | |
| # If Net Board support is enabled, need to define NET_BOARD | |
| ifeq ($(strip $(NET_BOARD)),1) | |
| BUILD_CFLAGS += -DNET_BOARD | |
| endif | |
| # If Bart's new frame timing is enabled, need to define NEW_FRAME_TIMING | |
| ifeq ($(strip $(NEW_FRAME_TIMING)),1) | |
| BUILD_CFLAGS += -DNEW_FRAME_TIMING | |
| endif | |
| # If built-in debugger enabled, need to define SUPERMODEL_DEBUGGER | |
| ifeq ($(strip $(ENABLE_DEBUGGER)),1) | |
| BUILD_CFLAGS += -DSUPERMODEL_DEBUGGER | |
| endif | |
| # Targets | |
| # | |
| all: $(BIN_DIR) $(OBJ_DIR) $(OBJ) | |
| $(LD) $(LFLAGS) $(OBJ_LIBS) $(OBJ) | |
| $(BIN_DIR): | |
| mkdir $(BIN_DIR) | |
| $(OBJ_DIR): | |
| mkdir $(OBJ_DIR) | |
| ############################################################################### | |
| # Rules | |
| ############################################################################### | |
| # | |
| # Musashi 68K emulator | |
| # | |
| # All generated source files are emitted to the object directory. For MSVC, | |
| # INLINE must be redefined as "static __inline", which is the syntax in C mode. | |
| # | |
| # The .exe suffix is absolutely required for native Windows non-MSYS builds! | |
| # | |
| MUSASHI_OUTFILE = $(OBJ_DIR)/m68kmake.exe # do not remove the .exe suffix! | |
| MUSASHI_CFLAGS = -ISrc/CPU/68K/Musashi -I$(OBJ_DIR) -DINLINE="static inline" -Wno-unused-variable | |
| MUSASHI_LDFLAGS = -o $(MUSASHI_OUTFILE) $(OBJ_DIR)/m68kmake.o -s | |
| $(MUSASHI_OUTFILE): Src/CPU/68K/Musashi/m68kmake.c Src/CPU/68K/Musashi/m68k_in.c | |
| $(info --------------------------------------------------------------------------------) | |
| $(info Compiling : $< -> $(OBJ_DIR)/m68kmake.o) | |
| $(SILENT)$(CC) $< $(CFLAGS) -o $(OBJ_DIR)/m68kmake.o | |
| $(info Linking : $(MUSASHI_OUTFILE)) | |
| $(SILENT)$(LD) $(MUSASHI_LDFLAGS) | |
| $(OBJ_DIR)/m68kops.h $(OBJ_DIR)/m68kops.c $(OBJ_DIR)/m68kopac.c $(OBJ_DIR)/m68kopdm.c $(OBJ_DIR)/m68kopnz.c: $(MUSASHI_OUTFILE) Src/CPU/68K/Musashi/m68k_in.c Src/CPU/68K/Musashi/m68k.h Src/CPU/68K/Musashi/m68kconf.h | |
| $(info Generating 68K emulator: $@) | |
| @$(MUSASHI_OUTFILE) $(OBJ_DIR) Src/CPU/68K/Musashi/m68k_in.c | |
| $(OBJ_DIR)/m68kcpu.o: Src/CPU/68K/Musashi/m68kcpu.c $(OBJ_DIR)/m68kops.h Src/CPU/68K/Musashi/m68k.h Src/CPU/68K/Musashi/m68kconf.h | |
| $(info Compiling : $< -> $@) | |
| @$(CC) $< $(CFLAGS) $(MUSASHI_CFLAGS) -o $(OBJ_DIR)/m68kcpu.o | |
| $(OBJ_DIR)/m68kops.o: $(OBJ_DIR)/m68kops.c $(OBJ_DIR)/m68kops.h Src/CPU/68K/Musashi/m68k.h Src/CPU/68K/Musashi/m68kconf.h $(MUSASHI_OUTFILE) | |
| $(info Compiling : $< -> $@) | |
| @$(CC) $< $(CFLAGS) $(MUSASHI_CFLAGS) -o $@ | |
| $(OBJ_DIR)/m68kopac.o: $(OBJ_DIR)/m68kopac.c $(OBJ_DIR)/m68kops.h Src/CPU/68K/Musashi/m68k.h Src/CPU/68K/Musashi/m68kconf.h $(MUSASHI_OUTFILE) | |
| $(info Compiling : $< -> $@) | |
| @$(CC) $< $(CFLAGS) $(MUSASHI_CFLAGS) -o $@ | |
| $(OBJ_DIR)/m68kopdm.o: $(OBJ_DIR)/m68kopdm.c $(OBJ_DIR)/m68kops.h Src/CPU/68K/Musashi/m68k.h Src/CPU/68K/Musashi/m68kconf.h $(MUSASHI_OUTFILE) | |
| $(info Compiling : $< -> $@) | |
| @$(CC) $< $(CFLAGS) $(MUSASHI_CFLAGS) -o $@ | |
| $(OBJ_DIR)/m68kopnz.o: $(OBJ_DIR)/m68kopnz.c $(OBJ_DIR)/m68kops.h Src/CPU/68K/Musashi/m68k.h Src/CPU/68K/Musashi/m68kconf.h $(MUSASHI_OUTFILE) | |
| $(info Compiling : $< -> $@) | |
| @$(CC) $< $(CFLAGS) $(MUSASHI_CFLAGS) -o $@ | |
| # | |
| # Rules for Supermodel C++ code | |
| # | |
| $(OBJ_DIR)/%.o: Src/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Model3/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Graphics/%.cpp Src/Graphics/Shaders2D.h | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Graphics/Legacy3D/%.cpp Src/Graphics/Legacy3D/%.h Src/Graphics/Legacy3D/Shaders3D.h | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Graphics/Legacy3D/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Graphics/New3D/%.cpp Src/Graphics/New3D/%.h | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Sound/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Debugger/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Debugger/CPU/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/CPU/PowerPC/%.cpp Src/CPU/PowerPC/ppc.h Src/CPU/PowerPC/ppc603.c Src/CPU/PowerPC/ppc_ops.c Src/CPU/PowerPC/ppc_ops.h | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/CPU/68K/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/CPU/Z80/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Inputs/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/OSD/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/OSD/SDL/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/OSD/Windows/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Pkgs/%.c | |
| $(CC) $< $(CFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Pkgs/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Util/%.cpp Src/Util/%.h | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/OSD/SDL/%.m Src/OSD/SDL/%.h | |
| $(OCC) -x objective-c++ $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| # | |
| # AMP MPEG decoder library | |
| # | |
| # To eliminate name conflicts, object files have the prefix "amp_" attached. | |
| # | |
| $(OBJ_DIR)/%.o: Src/Sound/MPEG/%.cpp Src/Sound/MPEG/%.h | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o | |
| $(OBJ_DIR)/%.o: Src/Sound/MPEG/%.cpp | |
| $(CXX) $< $(CPPFLAGS) -o $(OBJ_DIR)/$(*F).o |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment