26 lines
1.2 KiB
Makefile
26 lines
1.2 KiB
Makefile
REPO_ROOT := $(shell git rev-parse --show-toplevel)
|
|
PRODUCT := HelloPlaydate.pdx
|
|
include $(REPO_ROOT)/Examples/swift.mk
|
|
|
|
# MARK: - Build PlayDate Wrapper Swift Module
|
|
build/Modules/playdate_device.o: $(REPO_ROOT)/Sources/PlayDate/*.swift
|
|
@mkdir -p build/Modules
|
|
$(SWIFT_EXEC) $(SWIFT_FLAGS) $(SWIFT_FLAGS_DEVICE) -c $^ -emit-module -o $@
|
|
|
|
build/Modules/playdate_simulator.o: $(REPO_ROOT)/Sources/PlayDate/*.swift
|
|
@mkdir -p build/Modules
|
|
$(SWIFT_EXEC) $(SWIFT_FLAGS) $(SWIFT_FLAGS_SIMULATOR) -c $^ -emit-module -o $@
|
|
|
|
# MARK: - Build Game Swift Object
|
|
build/game_device.o: Sources/HelloPlaydate/*.swift | build/Modules/playdate_device.o
|
|
$(SWIFT_EXEC) $(SWIFT_FLAGS) $(SWIFT_FLAGS_DEVICE) -c $^ -o $@
|
|
$(OBJDIR)/pdex.elf: build/game_device.o
|
|
OBJS += build/game_device.o
|
|
# The wrapper object carries symbols that are not emitted into the game
|
|
# object, such as the posix_memalign shim the Embedded Swift runtime needs.
|
|
OBJS += build/Modules/playdate_device.o
|
|
|
|
build/game_simulator.o: Sources/HelloPlaydate/*.swift | build/Modules/playdate_simulator.o
|
|
$(SWIFT_EXEC) $(SWIFT_FLAGS) $(SWIFT_FLAGS_SIMULATOR) -c $^ -o $@
|
|
$(OBJDIR)/pdex.${DYLIB_EXT}: build/game_simulator.o
|
|
SIMCOMPILER += build/game_simulator.o
|