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/doom/doom.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/doom/doom.make')
-rw-r--r-- | apps/plugins/doom/doom.make | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/apps/plugins/doom/doom.make b/apps/plugins/doom/doom.make new file mode 100644 index 0000000000..d566f5307b --- /dev/null +++ b/apps/plugins/doom/doom.make | |||
@@ -0,0 +1,54 @@ | |||
1 | # __________ __ ___. | ||
2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
6 | # \/ \/ \/ \/ \/ | ||
7 | # $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $ | ||
8 | # | ||
9 | |||
10 | DOOMSRCDIR := $(APPSDIR)/plugins/doom | ||
11 | DOOMBUILDDIR := $(BUILDDIR)/apps/plugins/doom | ||
12 | |||
13 | ROCKS += $(DOOMBUILDDIR)/doom.rock | ||
14 | |||
15 | DOOM_SRC := $(call preprocess, $(DOOMSRCDIR)/SOURCES) | ||
16 | DOOM_OBJ := $(call c2obj, $(DOOM_SRC)) | ||
17 | DOOM_OBJ += $(DOOMBUILDDIR)/sscanf.o | ||
18 | |||
19 | # add source files to OTHER_SRC to get automatic dependencies | ||
20 | OTHER_SRC += $(DOOM_SRC) | ||
21 | |||
22 | DOOMCFLAGS = $(PLUGINFLAGS) -Wno-strict-prototypes | ||
23 | |||
24 | # The arm code compiles too large for the plugin buffer when set to optimize for speed | ||
25 | ifeq ($(CPU), arm) | ||
26 | DOOMCFLAGS += -Os | ||
27 | ifndef SIMVER | ||
28 | ifeq ($(TARGET), IRIVER_H100) | ||
29 | DOOMCCFLAGS += -mstructure-size-boundary=8 | ||
30 | endif | ||
31 | endif | ||
32 | else | ||
33 | DOOMCFLAGS += -O2 | ||
34 | endif | ||
35 | |||
36 | $(DOOMBUILDDIR)/sscanf.c: $(FIRMDIR)/common/sscanf.c | ||
37 | $(SILENT)mkdir -p $(dir $@) | ||
38 | $(call PRINTS,CP $<)cp $< $@ | ||
39 | |||
40 | $(DOOMBUILDDIR)/sscanf.o: $(DOOMBUILDDIR)/sscanf.c | ||
41 | |||
42 | $(DOOMBUILDDIR)/doom.rock: $(DOOM_OBJ) | ||
43 | # for some reason, this doesn't match the implicit rule in plugins.make, | ||
44 | # so we have to duplicate the link command here | ||
45 | $(SILENT)$(CC) $(PLUGINFLAGS) -o $*.elf \ | ||
46 | $(filter %.o, $^) \ | ||
47 | $(filter %.a, $^) \ | ||
48 | -lgcc $(PLUGINLDFLAGS) | ||
49 | $(call PRINTS,LD $(@F))$(OC) -O binary $*.elf $@ | ||
50 | |||
51 | # new rule needed to use extra compile flags | ||
52 | $(DOOMBUILDDIR)/%.o: $(DOOMSRCDIR)/%.c $(DOOMSRCDIR)/doom.make | ||
53 | $(SILENT)mkdir -p $(dir $@) | ||
54 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(DOOMCFLAGS) -c $< -o $@ | ||