# this was modified at one point so that it would compile in our bizhawk project, but isn't in # use at the moment. tread carefully ifeq ($(platform),) platform = unix ifeq ($(shell uname -a),) platform = win else ifneq ($(findstring MINGW,$(shell uname -a)),) platform = win else ifneq ($(findstring Darwin,$(shell uname -a)),) platform = osx else ifneq ($(findstring win,$(shell uname -a)),) platform = win endif endif ifeq ($(platform), unix) TARGET := libmeteor.so fpic := -fPIC SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined else ifeq ($(platform), osx) TARGET := libmeteor.dylib fpic := -fPIC SHARED := -dynamiclib else TARGET := libmeteor.dll CXX = g++ # SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T -Wl,--no-undefined SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--no-undefined CXXFLAGS += -DNO_MEMMEM endif #__LIBRETRO__ enables a slightly different saveram mechanism that doesn't seem to serve any useful purpose? #CXXFLAGS += -Wall -pedantic -I. -I../ameteor/include -pipe -D__LIBRETRO__ -Wno-parentheses -fno-exceptions -fno-rtti CXXFLAGS += -Wall -pedantic -I. -Iinclude -pipe -DX86_ASM -Wno-parentheses -fno-exceptions -fno-rtti ifeq ($(DEBUG), 1) CFLAGS += -O0 -g CXXFLAGS += -O0 -g else CFLAGS += -O3 CXXFLAGS += -O3 endif #SRCDIR := ../ameteor/source SRCDIR := ./source SOURCES := \ $(SRCDIR)/audio/dsound.cpp \ $(SRCDIR)/audio/sound1.cpp \ $(SRCDIR)/audio/sound2.cpp \ $(SRCDIR)/audio/sound4.cpp \ $(SRCDIR)/audio/speaker.cpp \ $(SRCDIR)/disassembler/argimmediate.cpp \ $(SRCDIR)/disassembler/argmulregisters.cpp \ $(SRCDIR)/disassembler/argpsr.cpp \ $(SRCDIR)/disassembler/argregister.cpp \ $(SRCDIR)/disassembler/argrelative.cpp \ $(SRCDIR)/disassembler/argshift.cpp \ $(SRCDIR)/disassembler/arguimmediate.cpp \ $(SRCDIR)/disassembler/arguments.cpp \ $(SRCDIR)/disassembler/instruction.cpp \ $(SRCDIR)/graphics/bglayer.cpp \ $(SRCDIR)/graphics/object.cpp \ $(SRCDIR)/graphics/objects.cpp \ $(SRCDIR)/graphics/renderer.cpp \ $(SRCDIR)/graphics/screen.cpp \ $(SRCDIR)/ameteor.cpp \ $(SRCDIR)/bios.cpp \ $(SRCDIR)/clock.cpp \ $(SRCDIR)/cpu.cpp \ $(SRCDIR)/debug.cpp \ $(SRCDIR)/dma.cpp \ $(SRCDIR)/eeprom.cpp \ $(SRCDIR)/flash.cpp \ $(SRCDIR)/cartmem.cpp \ $(SRCDIR)/interpreter.cpp \ $(SRCDIR)/interpreter_arm.cpp \ $(SRCDIR)/interpreter_thumb.cpp \ $(SRCDIR)/io.cpp \ $(SRCDIR)/keypad.cpp \ $(SRCDIR)/lcd.cpp \ $(SRCDIR)/memory.cpp \ $(SRCDIR)/sound.cpp \ $(SRCDIR)/sram.cpp \ $(SRCDIR)/timer.cpp \ cinterface.cpp # video.cpp \ # audio.cpp \ # input.cpp \ # libretro.cpp OBJ := $(SOURCES:.cpp=.o) all: $(TARGET) $(TARGET): $(OBJ) @$(CXX) -o $@ $^ $(SHARED) $(LDFLAGS) $(LIBS) @echo LD $(notdir $@) %.o: %.cpp @$(CXX) -o $@ -c $< $(CXXFLAGS) $(fpic) @echo CXX $(notdir $<) clean: rm -f $(TARGET) rm -f $(OBJ) .PHONY: clean