diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2016-11-20 15:16:41 -0500 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2016-11-27 20:35:46 -0500 |
| commit | d71a2abe90a751fc1b8321fc53c38098c17b6bc8 (patch) | |
| tree | ac628c2337a119913486aa8e19d9e87d8584daf0 /apps/plugins/puzzles/puzzles.make | |
| parent | 29648f817677b84c03c2bcfe89eb8cf53653e7db (diff) | |
| download | rockbox-d71a2abe90a751fc1b8321fc53c38098c17b6bc8.zip rockbox-d71a2abe90a751fc1b8321fc53c38098c17b6bc8.tar.gz rockbox-d71a2abe90a751fc1b8321fc53c38098c17b6bc8.tar.bz2 rockbox-d71a2abe90a751fc1b8321fc53c38098c17b6bc8.tar.xz | |
[WIP] Port of Simon Tatham's Puzzle Collection
Original revision: 5123b1bf68777ffa86e651f178046b26a87cf2d9
MIT Licensed. Some games still crash and others are unplayable due to
issues with controls. Still need a "real" polygon filling algorithm.
The following games are at least partially broken for various reasons:
Cube: failed assertion with "Icosahedron" setting
Keen: input issues
Mines: weird stuff happens on target
Palisade: input issues
Solo: input issues, crash on target (stack overflow maybe?)
Towers: input and drawing issues
Undead: input issues
Unequal: input and drawing issues
Untangle: input issues
Change-Id: I7c69b6860ab115f973c8d76799502e9bb3d52368
Diffstat (limited to 'apps/plugins/puzzles/puzzles.make')
| -rw-r--r-- | apps/plugins/puzzles/puzzles.make | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/apps/plugins/puzzles/puzzles.make b/apps/plugins/puzzles/puzzles.make new file mode 100644 index 0000000..537e9cf --- /dev/null +++ b/apps/plugins/puzzles/puzzles.make @@ -0,0 +1,46 @@ +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# $Id$ +# + +PUZZLES_SRCDIR = $(APPSDIR)/plugins/puzzles +PUZZLES_OBJDIR = $(BUILDDIR)/apps/plugins/puzzles + +PUZZLES_SRC := $(call preprocess, $(PUZZLES_SRCDIR)/SOURCES) +PUZZLES_OBJ := $(call c2obj, $(PUZZLES_SRC)) + +OTHER_SRC += $(PUZZLES_SRC) + +ifndef APP_TYPE + ROCKS += $(PUZZLES_OBJDIR)/puzzles.ovl + PUZZLES_OUTLDS = $(PUZZLES_OBJDIR)/puzzles.link + PUZZLES_OVLFLAGS = -T$(PUZZLES_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(basename $@).map +else + ROCKS += $(PUZZLES_OBJDIR)/puzzles.rock +endif + +PUZZLESFLAGS = $(filter-out -O%,$(PLUGINFLAGS)) -Os -Wno-unused-parameter -Wno-sign-compare + +$(PUZZLES_OBJDIR)/puzzles.rock: $(PUZZLES_OBJ) $(TLSFLIB) + +$(PUZZLES_OBJDIR)/puzzles.refmap: $(PUZZLES_OBJ) $(TLSFLIB) + +$(PUZZLES_OUTLDS): $(PLUGIN_LDS) $(PUZZLES_OBJDIR)/puzzles.refmap + $(call PRINTS,PP $(@F))$(call preprocess2file,$<,$@,-DOVERLAY_OFFSET=$(shell \ + $(TOOLSDIR)/ovl_offset.pl $(PUZZLES_OBJDIR)/puzzles.refmap)) + +$(PUZZLES_OBJDIR)/puzzles.ovl: $(PUZZLES_OBJ) $(PUZZLES_OUTLDS) $(TLSFLIB) + $(SILENT)$(CC) $(PLUGINFLAGS) -o $(basename $@).elf \ + $(filter %.o, $^) \ + $(filter %.a, $+) \ + -lgcc $(PUZZLES_OVLFLAGS) + $(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@) + +# special pattern rule for compiling puzzles with extra flags +$(PUZZLES_OBJDIR)/%.o: $(PUZZLES_SRCDIR)/%.c $(PUZZLES_SRCDIR)/puzzles.make + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PUZZLESFLAGS) -c $< -o $@ |