diff options
Diffstat (limited to 'apps/plugins/puzzles')
-rw-r--r-- | apps/plugins/puzzles/puzzles.make | 71 |
1 files changed, 15 insertions, 56 deletions
diff --git a/apps/plugins/puzzles/puzzles.make b/apps/plugins/puzzles/puzzles.make index ae61ff26f9..1041fde146 100644 --- a/apps/plugins/puzzles/puzzles.make +++ b/apps/plugins/puzzles/puzzles.make | |||
@@ -10,41 +10,24 @@ | |||
10 | PUZZLES_SRCDIR = $(APPSDIR)/plugins/puzzles | 10 | PUZZLES_SRCDIR = $(APPSDIR)/plugins/puzzles |
11 | PUZZLES_OBJDIR = $(BUILDDIR)/apps/plugins/puzzles | 11 | PUZZLES_OBJDIR = $(BUILDDIR)/apps/plugins/puzzles |
12 | 12 | ||
13 | # define this as "yes" to do a monolithic build -- remember to also | 13 | PUZZLES_SHARED_SRC := $(call preprocess, $(PUZZLES_SRCDIR)/SOURCES) |
14 | # uncomment the sgt-puzzles loader in apps/plugins/SOURCES | 14 | PUZZLES_SHARED_OBJ := $(call c2obj, $(PUZZLES_SHARED_SRC)) |
15 | PUZZLES_COMBINED = | ||
16 | |||
17 | ifdef PUZZLES_COMBINED | ||
18 | PUZZLES_SRC := $(call preprocess, $(PUZZLES_SRCDIR)/SOURCES, -DCOMBINED) | ||
19 | else | ||
20 | PUZZLES_SRC := $(call preprocess, $(PUZZLES_SRCDIR)/SOURCES) | ||
21 | endif | ||
22 | |||
23 | ifndef PUZZLES_COMBINED | ||
24 | PUZZLES_SHARED_OBJ := $(call c2obj, $(PUZZLES_SRC)) | ||
25 | endif | ||
26 | 15 | ||
27 | PUZZLES_GAMES_SRC := $(call preprocess, $(PUZZLES_SRCDIR)/SOURCES.games) | 16 | PUZZLES_GAMES_SRC := $(call preprocess, $(PUZZLES_SRCDIR)/SOURCES.games) |
28 | PUZZLES_SRC += $(PUZZLES_GAMES_SRC) | 17 | PUZZLES_GAMES_OBJ := $(call c2obj, $(PUZZLES_GAMES_SRC)) |
18 | |||
19 | PUZZLES_SRC := $(PUZZLES_GAMES_SRC) $(PUZZLES_SHARED_SRC) | ||
29 | PUZZLES_OBJ := $(call c2obj, $(PUZZLES_SRC)) | 20 | PUZZLES_OBJ := $(call c2obj, $(PUZZLES_SRC)) |
30 | OTHER_SRC += $(PUZZLES_SRC) | ||
31 | 21 | ||
32 | ifdef PUZZLES_COMBINED | ||
33 | ifndef APP_TYPE | ||
34 | ROCKS += $(PUZZLES_OBJDIR)/puzzles.ovl | ||
35 | PUZZLES_OUTLDS = $(PUZZLES_OBJDIR)/puzzles.link | ||
36 | PUZZLES_OVLFLAGS = -T$(PUZZLES_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(basename $@).map | ||
37 | else | ||
38 | ROCKS += $(PUZZLES_OBJDIR)/puzzles.rock | ||
39 | endif | ||
40 | else | ||
41 | PUZZLES_ROCKS := $(addprefix $(PUZZLES_OBJDIR)/sgt-, $(notdir $(PUZZLES_GAMES_SRC:.c=.rock))) | 22 | PUZZLES_ROCKS := $(addprefix $(PUZZLES_OBJDIR)/sgt-, $(notdir $(PUZZLES_GAMES_SRC:.c=.rock))) |
23 | |||
24 | OTHER_SRC += $(PUZZLES_SRC) | ||
42 | ROCKS += $(PUZZLES_ROCKS) | 25 | ROCKS += $(PUZZLES_ROCKS) |
43 | endif | ||
44 | 26 | ||
45 | PUZZLESOPTIMIZE := -O2 | 27 | PUZZLES_OPTIMIZE := -O2 |
28 | |||
46 | ifeq ($(MODELNAME), sansac200v2) | 29 | ifeq ($(MODELNAME), sansac200v2) |
47 | PUZZLESOPTIMIZE := -Os # tiny plugin buffer | 30 | PUZZLES_OPTIMIZE := -Os # tiny plugin buffer |
48 | endif | 31 | endif |
49 | 32 | ||
50 | # we suppress all warnings | 33 | # we suppress all warnings |
@@ -53,45 +36,21 @@ PUZZLESFLAGS = -I$(PUZZLES_SRCDIR)/dummy \ | |||
53 | -Wno-unused-parameter -Wno-sign-compare -Wno-strict-aliasing -w \ | 36 | -Wno-unused-parameter -Wno-sign-compare -Wno-strict-aliasing -w \ |
54 | -DFOR_REAL -I$(PUZZLES_SRCDIR)/src -I$(PUZZLES_SRCDIR) -include \ | 37 | -DFOR_REAL -I$(PUZZLES_SRCDIR)/src -I$(PUZZLES_SRCDIR) -include \ |
55 | $(PUZZLES_SRCDIR)/rbcompat.h | 38 | $(PUZZLES_SRCDIR)/rbcompat.h |
56 | ifdef PUZZLES_COMBINED | ||
57 | PUZZLESFLAGS += -DCOMBINED | ||
58 | endif | ||
59 | 39 | ||
60 | ifdef PUZZLES_COMBINED | ||
61 | $(PUZZLES_OBJDIR)/puzzles.rock: $(PUZZLES_OBJ) $(TLSFLIB) | ||
62 | |||
63 | $(PUZZLES_OBJDIR)/puzzles.refmap: $(PUZZLES_OBJ) $(TLSFLIB) | ||
64 | |||
65 | $(PUZZLES_OUTLDS): $(PLUGIN_LDS) $(PUZZLES_OBJDIR)/puzzles.refmap | ||
66 | $(call PRINTS,PP $(@F))$(call preprocess2file,$<,$@,-DOVERLAY_OFFSET=$(shell \ | ||
67 | $(TOOLSDIR)/ovl_offset.pl $(PUZZLES_OBJDIR)/puzzles.refmap)) | ||
68 | |||
69 | $(PUZZLES_OBJDIR)/puzzles.ovl: $(PUZZLES_OBJ) $(PUZZLES_OUTLDS) $(TLSFLIB) | ||
70 | $(SILENT)$(CC) $(PLUGINFLAGS) -o $(basename $@).elf \ | ||
71 | $(filter %.o, $^) \ | ||
72 | $(filter %.a, $+) \ | ||
73 | -lgcc $(PUZZLES_OVLFLAGS) | ||
74 | $(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@) | ||
75 | else | ||
76 | $(PUZZLES_OBJDIR)/sgt-%.rock: $(PUZZLES_OBJDIR)/src/%.o $(PUZZLES_SHARED_OBJ) $(TLSFLIB) | 40 | $(PUZZLES_OBJDIR)/sgt-%.rock: $(PUZZLES_OBJDIR)/src/%.o $(PUZZLES_SHARED_OBJ) $(TLSFLIB) |
77 | $(call PRINTS,LD $(@F))$(CC) $(PLUGINFLAGS) -o $(PUZZLES_OBJDIR)/$*.elf \ | 41 | $(call PRINTS,LD $(@F))$(CC) $(PLUGINFLAGS) -o $(PUZZLES_OBJDIR)/$*.elf \ |
78 | $(filter %.o, $^) \ | 42 | $(filter %.o, $^) \ |
79 | $(filter %.a, $+) \ | 43 | $(filter %.a, $+) \ |
80 | -lgcc $(filter-out -Wl%.map, $(PLUGINLDFLAGS)) -Wl,-Map,$(PUZZLES_OBJDIR)/src/$*.map | 44 | -lgcc $(filter-out -Wl%.map, $(PLUGINLDFLAGS)) -Wl,-Map,$(PUZZLES_OBJDIR)/src/$*.map |
81 | $(SILENT)$(call objcopy,$(PUZZLES_OBJDIR)/$*.elf,$@) | 45 | $(SILENT)$(call objcopy,$(PUZZLES_OBJDIR)/$*.elf,$@) |
82 | endif | ||
83 | 46 | ||
84 | $(PUZZLES_SRCDIR)/rbcompat.h: $(APPSDIR)/plugin.h $(BUILDDIR)/sysfont.h $(PUZZLES_SRCDIR)/rbassert.h $(APPSDIR)/plugins/lib/pluginlib_exit.h $(TLSFLIB_DIR)/src/tlsf.h | 47 | $(PUZZLES_SRCDIR)/rbcompat.h: $(APPSDIR)/plugin.h \ |
48 | $(APPSDIR)/plugins/lib/pluginlib_exit.h \ | ||
49 | $(BUILDDIR)/sysfont.h \ | ||
50 | $(PUZZLES_SRCDIR)/rbassert.h \ | ||
51 | $(TLSFLIB_DIR)/src/tlsf.h | ||
85 | 52 | ||
86 | # special pattern rule for compiling puzzles with extra flags | 53 | # special pattern rule for compiling puzzles with extra flags |
87 | $(PUZZLES_OBJDIR)/%.o: $(PUZZLES_SRCDIR)/%.c $(PUZZLES_SRCDIR)/puzzles.make $(PUZZLES_SRCDIR)/rbcompat.h | 54 | $(PUZZLES_OBJDIR)/%.o: $(PUZZLES_SRCDIR)/%.c $(PUZZLES_SRCDIR)/puzzles.make $(PUZZLES_SRCDIR)/rbcompat.h |
88 | $(SILENT)mkdir -p $(dir $@) | 55 | $(SILENT)mkdir -p $(dir $@) |
89 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PUZZLESFLAGS) -c $< -o $@ | 56 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PUZZLESFLAGS) -c $< -o $@ |
90 | |||
91 | $(PUZZLES_OBJDIR)/src/%.o: $(PUZZLES_SRCDIR)/src/%.c $(PUZZLES_SRCDIR)/puzzles.make $(PUZZLES_SRCDIR)/rbcompat.h | ||
92 | $(SILENT)mkdir -p $(dir $@) | ||
93 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PUZZLESFLAGS) -c $< -o $@ | ||
94 | |||
95 | $(PUZZLES_OBJDIR)/src/unfinished/%.o: $(PUZZLES_SRCDIR)/src/unfinished/%.c $(PUZZLES_SRCDIR)/puzzles.make $(PUZZLES_SRCDIR)/rbcompat.h | ||
96 | $(SILENT)mkdir -p $(dir $@) | ||
97 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PUZZLESFLAGS) -c $< -o $@ | ||