BizHawk/libgambatte/Makefile

67 lines
1.3 KiB
Makefile

CXX = g++
RM = rm
CP = cp
MACHINE = $(shell $(CXX) -dumpmachine)
ifneq (,$(findstring i686,$(MACHINE)))
$(error 32 bit build no longer supported)
else ifneq (,$(findstring x86_64,$(MACHINE)))
ARCH = 64
else
$(error Unknown arch)
endif
CXXFLAGS = -Wall -Iinclude -Isrc -O3 -std=c++11 -fno-exceptions -flto
TARGET = libgambatte.dll
LDFLAGS_32 = -static -static-libgcc -static-libstdc++
LDFLAGS_64 =
LDFLAGS = -shared $(LDFLAGS_$(ARCH)) $(CXXFLAGS)
DEST_32 = ../output/dll
DEST_64 = ../output/dll
SRCS = \
src/cinterface.cpp \
src/cpu.cpp \
src/gambatte.cpp \
src/initstate.cpp \
src/interrupter.cpp \
src/interruptrequester.cpp \
src/memory.cpp \
src/mem/cartridge.cpp \
src/mem/memptrs.cpp \
src/mem/rtc.cpp \
src/newstate.cpp \
src/sound.cpp \
src/sound/channel1.cpp \
src/sound/channel2.cpp \
src/sound/channel3.cpp \
src/sound/channel4.cpp \
src/sound/duty_unit.cpp \
src/sound/envelope_unit.cpp \
src/sound/length_counter.cpp \
src/tima.cpp \
src/video.cpp \
src/video/lyc_irq.cpp \
src/video/ly_counter.cpp \
src/video/next_m0_time.cpp \
src/video/ppu.cpp \
src/video/sprite_mapper.cpp
OBJS = $(SRCS:.cpp=.o)
all: $(TARGET)
%.o: %.cpp
$(CXX) -c -o $@ $< $(CXXFLAGS)
$(TARGET) : $(OBJS)
$(CXX) -o $@ $(LDFLAGS) $(OBJS)
clean:
$(RM) $(OBJS)
$(RM) $(TARGET)
install:
$(CP) $(TARGET) $(DEST_$(ARCH))