about summary refs log tree commit diff
path: root/hurd/Makefile
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1999-06-25 14:50:51 +0000
committerRoland McGrath <roland@gnu.org>1999-06-25 14:50:51 +0000
commit6f9dc08b86038568437caa7c34aa550510e4e8de (patch)
tree3f2e311756880175af41f72b1fb36ddac39146ea /hurd/Makefile
parent448af2c46ff50d99a0b0795a4367039df387f9b7 (diff)
downloadglibc-6f9dc08b86038568437caa7c34aa550510e4e8de.tar.gz
glibc-6f9dc08b86038568437caa7c34aa550510e4e8de.tar.xz
glibc-6f9dc08b86038568437caa7c34aa550510e4e8de.zip
* hurd.h, hurd/hurd/fd.h, hurd/hurd/port.h, hurd/hurd/signal.h,
	hurd/hurd/threadvar.h, hurd/hurd/userlink.h: Instead of
	_EXTERN_INLINE, use a macro specific to each file,
	_HURD_FD_H_EXTERN_INLINE and the like.
	* hurd/Makefile (inline-headers): New variable.
	(routines): Remove hurdinline.  Add $(inlines).
	(inlines): New variable.
	($(inlines:%=$(objpfx)%.c)): New static pattern rule to generate them.
	(generated): Append those here.
	* hurd/hurdinline.c: File removed.
Diffstat (limited to 'hurd/Makefile')
-rw-r--r--hurd/Makefile15
1 files changed, 14 insertions, 1 deletions
diff --git a/hurd/Makefile b/hurd/Makefile
index a9e63b93cf..0d932e501f 100644
--- a/hurd/Makefile
+++ b/hurd/Makefile
@@ -28,6 +28,9 @@ headers = hurd.h $(interface-headers) \
 	  $(addprefix hurd/,fd.h id.h port.h signal.h sigpreempt.h ioctl.h\
 			    userlink.h resource.h threadvar.h lookup.h)
 
+inline-headers = hurd.h $(addprefix hurd/,fd.h signal.h \
+				          userlink.h threadvar.h port.h)
+
 # The RPC interfaces go in a separate library.
 interface-library := libhurduser
 user-interfaces		:= $(addprefix hurd/,\
@@ -54,13 +57,14 @@ routines = hurdstartup hurdinit \
 	   fopenport \
 	   vpprintf \
 	   ports-get ports-set hurdports hurdmsg \
-	   $(sig) $(dtable) hurdinline port-cleanup report-wait
+	   $(sig) $(dtable) $(inlines) port-cleanup report-wait
 sig	= hurdsig hurdfault siginfo hurd-raise preempt-sig \
 	  trampoline longjmp-ts catch-exc exc2signal hurdkill sigunwind \
 	  thread-self thread-cancel intr-msg catch-signal
 dtable	= dtable port2fd new-fd alloc-fd intern-fd \
 	  getdport openport \
 	  fd-close fd-read fd-write hurdioctl ctty-input ctty-output
+inlines = $(inline-headers:%.h=%-inlines)
 distribute = hurdstartup.h hurdfault.h hurdhost.h \
 	     faultexc.defs intr-rpc.defs intr-rpc.h intr-msg.h Notes
 
@@ -74,6 +78,15 @@ routines += compat-20
 endif
 
 shared-only-routines = compat-20
+
+# For each of the $(inline-headers), generate a trivial source
+# file that will #include it to define its inline functions as real functions.
+$(inlines:%=$(objpfx)%.c): $(objpfx)%-inlines.c: %.h
+	(h="`echo $(subst /,_,$*) | tr '[a-z]' '[A-Z]'`"; \
+	 echo "#define _$${h}_H_EXTERN_INLINE /* Define real function.  */"; \
+	 echo '#include "$<"') > $@-new
+	mv -f $@-new $@
+generated += $(inlines:=.c)
 
 include ../mach/Machrules
 include ../Rules