]> git.saurik.com Git - apple/libutil.git/blame_incremental - Makefile
libutil-20.tar.gz
[apple/libutil.git] / Makefile
... / ...
CommitLineData
1SHELL := /bin/sh
2SDKROOT ?= /
3
4VERSION = 1.0
5CC = xcrun cc
6CPP = xcrun c++
7CPPFLAGS = -I$(SRCROOT)
8CFLAGS = -Os -g3 -no-cpp-precomp -Wall $(RC_CFLAGS) -isysroot $(SDKROOT)
9LDFLAGS = $(RC_CFLAGS) -install_name /usr/lib/libutil.dylib -compatibility_version $(VERSION) \
10 -current_version $(VERSION) -lstdc++ -exported_symbols_list libutil.exports -isysroot $(SDKROOT)
11INSTALL = install -c
12LN = ln
13MKDIR = mkdir -p
14STRIP = strip
15DSYMUTIL = dsymutil
16AR = ar
17RANLIB = ranlib
18
19SRCROOT = .
20OBJROOT = $(SRCROOT)
21SYMROOT = $(OBJROOT)
22DSTROOT =
23
24LIB := libutil1.0.dylib
25SRCS := _secure_path.c getmntopts.c humanize_number.c \
26 pidfile.c property.c realhostname.c trimdomain.c uucplock.c \
27 ExtentManager.cpp wipefs.cpp reexec_to_match_kernel.c
28HDRS := libutil.h mntopts.h wipefs.h
29MAN3 := _secure_path.3 getmntopts.3 humanize_number.3 pidfile.3 \
30 property.3 realhostname.3 realhostname_sa.3 trimdomain.3 \
31 uucplock.3 wipefs.3 reexec_to_match_kernel.3
32
33.SUFFIXES :
34.SUFFIXES : .c .cpp .h .o
35
36.PHONY :
37.PHONY : all installsrc installhdrs install clean installlib installman
38
39all : $(SYMROOT)/$(LIB)
40
41#
42# xbs targets.
43#
44installsrc :
45 @if test ! -d $(SRCROOT); then \
46 echo "$(INSTALL) -d $(SRCROOT)"; \
47 $(INSTALL) -d $(SRCROOT); \
48 fi
49 tar cf - . | (cd $(SRCROOT); tar xpf -)
50 @for i in `find $(SRCROOT) | grep "/\.svn$$"`; do \
51 if test -d $$i ; then \
52 echo "rm -rf $$i"; \
53 rm -rf $$i; \
54 fi; \
55 done
56
57installhdrs :
58 $(INSTALL) -d $(DSTROOT)/usr/local/include
59 $(INSTALL) -m 0644 $(HDRS) $(DSTROOT)/usr/local/include
60
61
62install : installhdrs installlib strip installman install-plist
63
64clean :
65 rm -f $(patsubst %.cpp,$(OBJROOT)/%.o,$(patsubst %.c,$(OBJROOT)/%.o,$(SRCS)))
66 rm -f $(SYMROOT)/*~
67 rm -f $(SRCROOT)/.\#*
68 rm -f $(SYMROOT)/$(LIB)
69
70strip:
71 $(STRIP) -x -S $(DSTROOT)/usr/lib/$(LIB)
72
73#
74# Internal targets and rules.
75#
76installlib : $(SYMROOT)/$(LIB)
77 $(DSYMUTIL) $(SYMROOT)/$(LIB) -o $(SYMROOT)/$(LIB).dSYM
78 $(INSTALL) -d $(DSTROOT)/usr/lib
79 $(INSTALL) -m 0755 $< $(DSTROOT)/usr/lib
80 $(LN) -fs libutil1.0.dylib $(DSTROOT)/usr/lib/libutil.dylib
81
82installman :
83 $(INSTALL) -d $(DSTROOT)/usr/local/share/man/man3
84 @for i in $(MAN3); do\
85 echo "$(INSTALL) -m 0444 $(SRCROOT)/$$i $(DSTROOT)/usr/local/share/man/man3/"; \
86 $(INSTALL) -m 0444 $(SRCROOT)/$$i $(DSTROOT)/usr/local/share/man/man3; \
87 done
88
89$(OBJROOT)/%.o : $(SRCROOT)/%.c \
90 $(patsubst %.h,$(SRCROOT)/%.h,$(HDRS))
91 $(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
92
93$(OBJROOT)/%.o : $(SRCROOT)/%.cpp \
94 $(patsubst %.h,$(SRCROOT)/%.h,$(HDRS))
95 $(CPP) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
96
97$(SYMROOT)/$(LIB) : $(patsubst %.cpp,$(OBJROOT)/%.o,$(patsubst %.c,$(OBJROOT)/%.o,$(SRCS)))
98 $(CC) -dynamiclib $(LDFLAGS) -o $@ $(patsubst %.cpp,$(OBJROOT)/%.o,$(patsubst %.c,$(OBJROOT)/%.o,$(SRCS)))
99
100OSV = $(DSTROOT)/usr/local/OpenSourceVersions
101OSL = $(DSTROOT)/usr/local/OpenSourceLicenses
102
103install-plist:
104 $(MKDIR) $(OSV)
105 $(INSTALL) $(SRCROOT)/libutil.plist $(OSV)/
106 $(MKDIR) $(OSL)
107 $(INSTALL) $(SRCROOT)/libutil.txt $(OSL)/