summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile35
1 files changed, 27 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 6d9dfd42..91786abc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,29 +1,48 @@
+.PHONY: all install
+all: exec core bootexec
+
+install: $(hurddir)/exec $(hurddir)/core \
+ $(serversdir)/exec $(serversdir)/core \
+ $(bindir)/gcore
+
hurddir = $(prefix)/hurd
serversdir = $(prefix)/servers
libdir = $(prefix)/lib
+bindir = $(prefix)/bin
-.PHONY: all install
-all: exec core bootexec
-install: $(hurddir)/exec $(hurddir)/core $(serversdir)/exec $(serversdir)/core
+INSTALL_DATA = $(INSTALL)
+INSTALL = install -c
-vpath %.c ../$(machine)
+$(hurddir)/%: %
+ $(INSTALL) $< $@
+
+$(bindir)/%: %
+ $(INSTALL) $< $@
+
+vpath %_machdep.c ../$(machine)
exec bootexec core: hostarch.o $(libdir)/libc.a
exec bootexec: exec_machdep.o
-exec: transexec.o
+exec: transexec.o exec_server.o exec_user.o
+core: core_server.o
+exec.o: exec_server.h
+core.o: core_server.h
+
+%_server.c %_server.h: %.defs
+ $(MIG) $(MIGFLAGS) -server $(@:.h=.c) -sheader $(@:.c=.h)
bootexec: bootexec.o exec.o
$(LD) -X $(LDFLAGS) -r -o $@ $^
$(serversdir)/core: core.text $(hurddir)/core
@rm -f $@
- cp $< $@
+ $(INSTALL_DATA) $< $@
settrans $(word 2,$^) $@
$(serversdir)/exec: exec.text
@rm -f $@
- cp $< $@
- settrans '$(filter %/exec,$^)' $@
+ $(INSTALL_DATA) $< $@
+ settrans '$(word 2,$^)' $@
# This dependency makes the standard exec server be a translator. Without
# it, /servers/exec has no translator, and bootexec is linked into the boot