summaryrefslogtreecommitdiff
path: root/Makefile
blob: 91786abc05bc80ed92cb3b311f83de33eb6b9ef1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.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

INSTALL_DATA = $(INSTALL)
INSTALL = install -c

$(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_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 $@
	$(INSTALL_DATA) $< $@
	settrans $(word 2,$^) $@

$(serversdir)/exec: exec.text
	@rm -f $@
	$(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
# filesystem.  Uncomment the line to install the exec server as a
# translator.
#$(serversdir)/exec: $(hurddir)/exec