118 lines
5.7 KiB
Makefile
118 lines
5.7 KiB
Makefile
|
|
CC := emcc
|
|
CXX := emcc
|
|
CXXFLAGS := -c -fbracket-depth=4800 -O3 -std=c++17 -msimd128
|
|
INCLUDES := -I src/nba/include/ -I src/nba/src
|
|
LDFLAGS := -s ENVIRONMENT=web -s ASSERTIONS=0 -s FILESYSTEM=0 -s STANDALONE_WASM=1 -s ALLOW_MEMORY_GROWTH\
|
|
-s EXPORTED_FUNCTIONS=[_replay,_getOutput,_cyclePerFrame,_getRom,_getIRam,_getWRam,_go,_run,_main] --lto
|
|
BUILD := build
|
|
OBJECTS := $(BUILD)/000-serialization.o $(BUILD)/001-tablegen.o $(BUILD)/002-bus.o \
|
|
$(BUILD)/003-io.o $(BUILD)/004-serialization.o $(BUILD)/005-timing.o \
|
|
$(BUILD)/006-core.o $(BUILD)/007-apu.o $(BUILD)/008-callback.o \
|
|
$(BUILD)/009-noise_channel.o $(BUILD)/010-quad_channel.o $(BUILD)/011-wave_channel.o \
|
|
$(BUILD)/012-mp2k.o $(BUILD)/013-registers.o $(BUILD)/014-serialization.o \
|
|
$(BUILD)/015-dma.o $(BUILD)/016-serialization.o $(BUILD)/017-irq.o \
|
|
$(BUILD)/018-serialization.o $(BUILD)/019-keypad.o $(BUILD)/020-serialization.o \
|
|
$(BUILD)/021-background.o $(BUILD)/022-merge.o $(BUILD)/023-ppu.o \
|
|
$(BUILD)/024-registers.o $(BUILD)/025-serialization.o $(BUILD)/026-sprite.o \
|
|
$(BUILD)/027-window.o $(BUILD)/028-eeprom.o $(BUILD)/029-flash.o \
|
|
$(BUILD)/030-serialization.o $(BUILD)/031-sram.o $(BUILD)/032-gpio.o \
|
|
$(BUILD)/033-rtc.o $(BUILD)/034-serialization.o $(BUILD)/035-solar_sensor.o \
|
|
$(BUILD)/036-serialization.o $(BUILD)/037-timer.o $(BUILD)/038-serialization.o \
|
|
$(BUILD)/module.o $(BUILD)/bios.o
|
|
SRCPATH := src/nba/src
|
|
TARGETS := nba.html
|
|
|
|
$(TARGETS): $(BUILD) $(OBJECTS)
|
|
$(CXX) $(OBJECTS) -o $(TARGETS) $(LDFLAGS)
|
|
|
|
$(BUILD):
|
|
-mkdir $@
|
|
|
|
clean:
|
|
-rm -rf $(BUILD)
|
|
-rm -f $(TARGETS) nba.js nba.wasm
|
|
|
|
$(BUILD)/000-serialization.o: src/nba/src/arm/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/001-tablegen.o: src/nba/src/arm/tablegen/tablegen.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/002-bus.o: src/nba/src/bus/bus.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/003-io.o: src/nba/src/bus/io.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/004-serialization.o: src/nba/src/bus/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/005-timing.o: src/nba/src/bus/timing.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/006-core.o: src/nba/src/core.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/007-apu.o: src/nba/src/hw/apu/apu.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/008-callback.o: src/nba/src/hw/apu/callback.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/009-noise_channel.o: src/nba/src/hw/apu/channel/noise_channel.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/010-quad_channel.o: src/nba/src/hw/apu/channel/quad_channel.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/011-wave_channel.o: src/nba/src/hw/apu/channel/wave_channel.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/012-mp2k.o: src/nba/src/hw/apu/hle/mp2k.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/013-registers.o: src/nba/src/hw/apu/registers.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/014-serialization.o: src/nba/src/hw/apu/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/015-dma.o: src/nba/src/hw/dma/dma.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/016-serialization.o: src/nba/src/hw/dma/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/017-irq.o: src/nba/src/hw/irq/irq.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/018-serialization.o: src/nba/src/hw/irq/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/019-keypad.o: src/nba/src/hw/keypad/keypad.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/020-serialization.o: src/nba/src/hw/keypad/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/021-background.o: src/nba/src/hw/ppu/background.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/022-merge.o: src/nba/src/hw/ppu/merge.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/023-ppu.o: src/nba/src/hw/ppu/ppu.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/024-registers.o: src/nba/src/hw/ppu/registers.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/025-serialization.o: src/nba/src/hw/ppu/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/026-sprite.o: src/nba/src/hw/ppu/sprite.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/027-window.o: src/nba/src/hw/ppu/window.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/028-eeprom.o: src/nba/src/hw/rom/backup/eeprom.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/029-flash.o: src/nba/src/hw/rom/backup/flash.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/030-serialization.o: src/nba/src/hw/rom/backup/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/031-sram.o: src/nba/src/hw/rom/backup/sram.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/032-gpio.o: src/nba/src/hw/rom/gpio/gpio.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/033-rtc.o: src/nba/src/hw/rom/gpio/rtc.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/034-serialization.o: src/nba/src/hw/rom/gpio/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/035-solar_sensor.o: src/nba/src/hw/rom/gpio/solar_sensor.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/036-serialization.o: src/nba/src/hw/timer/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/037-timer.o: src/nba/src/hw/timer/timer.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/038-serialization.o: src/nba/src/serialization.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/bios.o: src/wasm/bios.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|
|
$(BUILD)/module.o: src/wasm/module.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES)
|