diff options
author | Roland McGrath <roland@gnu.org> | 2002-12-27 23:05:53 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-12-27 23:05:53 +0000 |
commit | aad08dbad983a352492542a61478074e5869dec6 (patch) | |
tree | a834bf94b853e8ac0331bbf0eed8e4862c44ff38 /Makerules | |
parent | 4f172c25f1c39e86b433075d36f3e6c19e06f136 (diff) | |
download | glibc-aad08dbad983a352492542a61478074e5869dec6.zip glibc-aad08dbad983a352492542a61478074e5869dec6.tar.gz glibc-aad08dbad983a352492542a61478074e5869dec6.tar.bz2 |
2002-12-27 Roland McGrath <roland@redhat.com>
* scripts/gen-as-const.awk: New file.
* Makefile (distribute): Add it.
* Makerules ($(common-objpfx)%.h %.h.d: %.sym): New pattern rule.
(before-compile): Add $(gen-as-const-headers:%.sym=$(common-objpfx)%.h)
to the list.
(+depfiles): Add $(addprefix $(common-objpfx),$(gen-as-const-headers)).
Diffstat (limited to 'Makerules')
-rw-r--r-- | Makerules | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -663,7 +663,8 @@ ifeq ($(build-programs),yes) endif +depfiles := $(addprefix $(objpfx),\ $(filter-out $(addsuffix .d,$(omit-deps)),\ - $(+depfiles))) + $(+depfiles))) \ + $(addprefix $(common-objpfx),$(gen-as-const-headers:.sym=.h.d)) ifdef +depfiles ifneq ($(no_deps),t) @@ -1177,6 +1178,23 @@ common-generated += libc.symlist endif endif + +# Generating headers for assembly constants. +$(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk %.sym + $(AWK) -f $^ \ + | $(CC) -S -o - $(CFLAGS) $(CPPFLAGS) -x c - \ + -MD -MF $(@:.h=.h.d)T -MT '$(@:.h=.h.d) $(@:.h.d=.h)' \ + | sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^@]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$$/#define \1 \2/p' > $(@:.h.d=.h)T + sed $(sed-remove-objpfx) \ + -e 's@ *\([^ \/][^ \]*\)@ $$(..)\1@g' \ + -e 's@ *\.\.\/\([^ \]*\)@ $$(..)\1@g' \ + $(@:.h=.h.d)T > $(@:.h=.h.d)T2 + rm -f $(@:.h=.h.d)T + mv -f $(@:.h=.h.d)T2 $(@:.h=.h.d) + mv -f $(@:.h.d=.h)T $(@:.h.d=.h) +vpath %.sym $(sysdirs) + +before-compile += $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) .PHONY: TAGS TAGS: $(objpfx)distinfo $(..)MakeTAGS |