diff options
author | Björn Stenberg <bjorn@haxx.se> | 2008-11-20 11:27:31 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2008-11-20 11:27:31 +0000 |
commit | c6b3d38a156dd624760a8eb1bb374affd43b4f2a (patch) | |
tree | 493eba929e2396d86cf4f077709aa09fe172cd35 /apps/plugins/zxbox/zxbox.make | |
parent | f66c30346783a400a029bedcd60ab67c81c34a07 (diff) | |
download | rockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.tar.gz rockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.zip |
New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/zxbox/zxbox.make')
-rw-r--r-- | apps/plugins/zxbox/zxbox.make | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/apps/plugins/zxbox/zxbox.make b/apps/plugins/zxbox/zxbox.make new file mode 100644 index 0000000000..e617ba3a12 --- /dev/null +++ b/apps/plugins/zxbox/zxbox.make | |||
@@ -0,0 +1,57 @@ | |||
1 | # __________ __ ___. | ||
2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
6 | # \/ \/ \/ \/ \/ | ||
7 | # $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $ | ||
8 | # | ||
9 | |||
10 | ZXBOX_SRCDIR = $(APPSDIR)/plugins/zxbox | ||
11 | ZXBOX_OBJDIR = $(BUILDDIR)/apps/plugins/zxbox | ||
12 | |||
13 | ZXBOX_SRC := $(call preprocess, $(ZXBOX_SRCDIR)/SOURCES) | ||
14 | ZXBOX_OBJ := $(call c2obj, $(ZXBOX_SRC)) | ||
15 | |||
16 | OTHER_SRC += $(ZXBOX_SRC) | ||
17 | |||
18 | ifndef SIMVER | ||
19 | ifneq (,$(strip $(foreach tgt,RECORDER ONDIO,$(findstring $(tgt),$(TARGET))))) | ||
20 | ## archos recorder targets | ||
21 | ZXBOX_INLDS := $(ZXBOX_SRCDIR)/archos.lds | ||
22 | ROCKS += $(ZXBOX_OBJDIR)/zxbox.ovl | ||
23 | else | ||
24 | ### all other targets | ||
25 | ZXBOX_INLDS := $(APPSDIR)/plugins/plugin.lds | ||
26 | ROCKS += $(ZXBOX_OBJDIR)/zxbox.rock | ||
27 | endif | ||
28 | else | ||
29 | ### simulator | ||
30 | ROCKS += $(ZXBOX_OBJDIR)/zxbox.rock | ||
31 | endif | ||
32 | |||
33 | ZXBOXFLAGS = $(filter-out -O%,$(PLUGINFLAGS)) -O3 -funroll-loops | ||
34 | |||
35 | ifdef SIMVER | ||
36 | ZXBOX_LDFLAGS = $(SHARED_FLAG) # <-- from Makefile | ||
37 | else | ||
38 | ZXBOX_OUTLDS = $(ZXBOX_OBJDIR)/zxbox.lds | ||
39 | ZXBOX_LDFLAGS = -T$(ZXBOX_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(BUILDDIR)/$*.map | ||
40 | endif | ||
41 | |||
42 | $(ZXBOX_OUTLDS): $(ZXBOX_INLDS) $(ZXBOX_OBJ) | ||
43 | $(call PRINTS,PP $(<F))$(call preprocess2file,$<,$@) | ||
44 | |||
45 | $(ZXBOX_OBJDIR)/zxbox.rock: $(ZXBOX_OBJ) $(ZXBOX_OUTLDS) $(PLUGINBITMAPLIB) | ||
46 | |||
47 | $(ZXBOX_OBJDIR)/zxbox.ovl: $(ZXBOX_OBJ) $(ZXBOX_OUTLDS) $(PLUGINBITMAPLIB) $(PLUGINLIB) | ||
48 | $(SILENT)$(CC) $(PLUGINFLAGS) -o $(ZXBOX_OBJDIR)/$*.elf \ | ||
49 | $(filter %.o, $^) \ | ||
50 | $(filter %.a, $^) \ | ||
51 | -lgcc $(ZXBOX_LDFLAGS) | ||
52 | $(call PRINTS,LD $(@F))$(OC) -O binary $(ZXBOX_OBJDIR)/$*.elf $@ | ||
53 | |||
54 | # special pattern rule for compiling zxbox with extra flags | ||
55 | $(ZXBOX_OBJDIR)/%.o: $(ZXBOX_SRCDIR)/%.c $(PLUGINBITMAPLIB) $(ZXBOX_SRCDIR)/zxbox.make | ||
56 | $(SILENT)mkdir -p $(dir $@) | ||
57 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(ZXBOXFLAGS) -c $< -o $@ | ||