1#
2# Makefile for mount_nfs
3#
4
5Project = mount_nfs
6
7inplace:
8	@$(MAKE) all SRCROOT=. OBJROOT=. SYMROOT=. DSTROOT=/
9
10include $(MAKEFILEPATH)/CoreOS/ReleaseControl/Common.make
11
12SDKROOT ?= /
13
14WARNING_FLAGS = -Wall -Wextra -Wformat=2 -Wpointer-arith -Wcast-align \
15		-Wwrite-strings -Wno-unknown-pragmas \
16		-Wno-missing-field-initializers -Wno-shadow \
17		-Wno-deprecated-declarations
18Extra_CC_Flags = $(WARNING_FLAGS) -D_FORTIFY_SOURCE=2 -fPIE
19Extra_LD_Flags = -Wl,-pie -lutil -dead_strip
20
21ifeq "$(RC_TARGET_CONFIG)" "iPhone"
22Extra_CC_Flags += -isysroot $(SDKROOT)
23endif
24
25DST_DIR = $(DSTROOT)/sbin
26ETC_DIR = $(DSTROOT)/private/etc
27MAN_DIR = $(DSTROOT)/usr/share/man/man8
28LAUNCHD_DIR = $(DSTROOT)/System/Library/LaunchDaemons
29
30#
31# Standard B&I targets
32#
33all: $(SYMROOT)/mount_nfs
34
35install:: all
36	install -d -o root -g wheel -m 755 $(DST_DIR)
37	install -c -o root -g wheel -m 555 -s $(SYMROOT)/mount_nfs $(DST_DIR)
38	install -d -o root -g wheel -m 755 $(DSTROOT)/usr
39	install -d -o root -g wheel -m 755 $(DSTROOT)/usr/share
40	install -d -o root -g wheel -m 755 $(DSTROOT)/usr/share/man
41	install -d -o root -g wheel -m 755 $(MAN_DIR)
42	install -c -o root -g wheel -m 444 $(SRCROOT)/mount_nfs.8 $(MAN_DIR)
43	install -d -o root -g wheel -m 755 $(LAUNCHD_DIR)
44	install -c -o root -g wheel -m 444 $(SRCROOT)/com.apple.nfsconf.plist $(LAUNCHD_DIR)
45	plutil  -convert binary1 $(LAUNCHD_DIR)/com.apple.nfsconf.plist
46	install -d -o root -g wheel -m 755 $(ETC_DIR)
47	install -c -o root -g wheel -m 644 $(SRCROOT)/nfs.conf $(ETC_DIR)
48
49clean::
50	-rm -f *.o mount_nfs
51
52#
53# Build
54#
55CFILES = mount_nfs.c
56OFILES = $(CFILES:.c=.o)
57
58$(OBJROOT)/%.o: $(SRCROOT)/%.c
59	$(CC) -c $(CFLAGS) -o $@ $<
60
61$(SYMROOT)/mount_nfs: $(addprefix $(OBJROOT)/, $(OFILES))
62	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
63
64