1#
2# Makefile for rpc.statd
3#
4
5Project = rpc.statd
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
17Extra_CC_Flags = $(WARNING_FLAGS) -D_FORTIFY_SOURCE=2 \
18		-I$(SRCROOT)/../rpc.lockd -F$(SDKROOT)/System/Library/PrivateFrameworks -fPIE
19Extra_LD_Flags = -Wl,-pie -lutil -framework oncrpc -dead_strip
20
21ifeq "$(RC_TARGET_CONFIG)" "iPhone"
22Extra_CC_Flags += -isysroot $(SDKROOT)
23endif
24
25DST_DIR = $(DSTROOT)/usr/sbin
26MAN_DIR = $(DSTROOT)/usr/share/man/man8
27LAUNCHD_DIR = $(DSTROOT)/System/Library/LaunchDaemons
28
29#
30# Standard B&I targets
31#
32all: $(SYMROOT)/rpc.statd
33
34install:: all
35	install -d -o root -g wheel -m 755 $(DST_DIR)
36	install -c -o root -g wheel -m 555 -s $(SYMROOT)/rpc.statd $(DST_DIR)
37	install -d -o root -g wheel -m 755 $(LAUNCHD_DIR)
38	install -c -o root -g wheel -m 444 $(SRCROOT)/com.apple.statd.notify.plist $(LAUNCHD_DIR)
39	install -d -o root -g wheel -m 755 $(MAN_DIR)
40	install -c -o root -g wheel -m 444 $(SRCROOT)/rpc.statd.8 $(MAN_DIR)
41
42clean::
43	-rm -f *.o rpc.statd
44
45#
46# Build
47#
48CFILES = file.c procs.c statd.c sm_inter_svc.c sm_inter_xdr.c
49HFILES = statd.h
50OFILES = $(CFILES:.c=.o)
51
52$(OFILES): $(HFILES)
53
54$(OBJROOT)/%.o: $(SRCROOT)/%.c
55	$(CC) -c $(CFLAGS) -o $@ $<
56
57$(SYMROOT)/rpc.statd: $(addprefix $(OBJROOT)/, $(OFILES))
58	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
59
60smtest: test.o sm_inter_xdr.o
61	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
62
63