summaryrefslogtreecommitdiff
path: root/tools/root.make
diff options
context:
space:
mode:
authorAndrew Mahone <andrew.mahone@gmail.com>2009-07-13 00:40:35 +0000
committerAndrew Mahone <andrew.mahone@gmail.com>2009-07-13 00:40:35 +0000
commit668a769ca4cabdfee54dc53e92a964c32c9738d7 (patch)
treea4c42168e4b86d4b7e09533307ae070fd3c7bcc0 /tools/root.make
parent36eeecbe9a91a5da8bd82ee3974c359f4534dd14 (diff)
downloadrockbox-668a769ca4cabdfee54dc53e92a964c32c9738d7.zip
rockbox-668a769ca4cabdfee54dc53e92a964c32c9738d7.tar.gz
rockbox-668a769ca4cabdfee54dc53e92a964c32c9738d7.tar.bz2
rockbox-668a769ca4cabdfee54dc53e92a964c32c9738d7.tar.xz
Add new asmdefs mechanism for exporting information only available to the C compiler for use in asm files, and use it in arm jpeg idct. See apps/apps.make, apps/core_asmdefs.c, and apps/recorder/jpeg_idct_arm.S for details.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21831 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/root.make')
-rw-r--r--tools/root.make11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/root.make b/tools/root.make
index 0058637..8a92398 100644
--- a/tools/root.make
+++ b/tools/root.make
@@ -51,8 +51,8 @@ endif
all: $(DEPFILE) build
-# Subdir makefiles. their primary purpose is to populate SRC & OTHER_SRC
-# but they also define special dependencies and compile rules
+# Subdir makefiles. their primary purpose is to populate SRC, OTHER_SRC &
+# ASMDEFS_SRC but they also define special dependencies and compile rules
include $(TOOLSDIR)/tools.make
include $(FIRMDIR)/firmware.make
include $(ROOTDIR)/apps/bitmaps/bitmaps.make
@@ -96,6 +96,7 @@ $(DEPFILE) dep:
@echo foo > /dev/null # there must be a "real" command in the rule
$(call mkdepfile,$(DEPFILE),$(SRC))
$(call mkdepfile,$(DEPFILE),$(OTHER_SRC))
+ $(call mkdepfile,$(DEPFILE),$(ASMDEFS_SRC))
@mv $(DEPFILE)_ $(DEPFILE)
$(call bmpdepfile,$(DEPFILE),$(BMP) $(PBMP))
@@ -317,6 +318,12 @@ $(BUILDDIR)/%.o: $(ROOTDIR)/%.S
$(SILENT)mkdir -p $(dir $@)
$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CFLAGS) -c $< -o $@
+# generated definitions for use in .S files
+$(BUILDDIR)/%_asmdefs.h: $(ROOTDIR)/%_asmdefs.c
+ $(call PRINTS,ASMDEFS $(@F))
+ $(SILENT)mkdir -p $(dir $@)
+ $(call asmdefs2file,$<,$@)
+
# when source and object are both in BUILDDIR (generated code):
%.o: %.c
$(SILENT)mkdir -p $(dir $@)