]> git.saurik.com Git - apple/libutil.git/blame - Makefile
libutil-20.tar.gz
[apple/libutil.git] / Makefile
CommitLineData
3f2457aa 1SHELL := /bin/sh
1bd2040a 2SDKROOT ?= /
3f2457aa
A
3
4VERSION = 1.0
1bd2040a
A
5CC = xcrun cc
6CPP = xcrun c++
3f2457aa 7CPPFLAGS = -I$(SRCROOT)
1bd2040a 8CFLAGS = -Os -g3 -no-cpp-precomp -Wall $(RC_CFLAGS) -isysroot $(SDKROOT)
3f2457aa 9LDFLAGS = $(RC_CFLAGS) -install_name /usr/lib/libutil.dylib -compatibility_version $(VERSION) \
1bd2040a 10 -current_version $(VERSION) -lstdc++ -exported_symbols_list libutil.exports -isysroot $(SDKROOT)
3f2457aa
A
11INSTALL = install -c
12LN = ln
1bd2040a 13MKDIR = mkdir -p
3f2457aa 14STRIP = strip
1bd2040a 15DSYMUTIL = dsymutil
3f2457aa
A
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 \
1bd2040a
A
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
3f2457aa 29MAN3 := _secure_path.3 getmntopts.3 humanize_number.3 pidfile.3 \
1bd2040a
A
30 property.3 realhostname.3 realhostname_sa.3 trimdomain.3 \
31 uucplock.3 wipefs.3 reexec_to_match_kernel.3
3f2457aa
A
32
33.SUFFIXES :
1bd2040a 34.SUFFIXES : .c .cpp .h .o
3f2457aa
A
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 :
1bd2040a 65 rm -f $(patsubst %.cpp,$(OBJROOT)/%.o,$(patsubst %.c,$(OBJROOT)/%.o,$(SRCS)))
3f2457aa
A
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)
1bd2040a 77 $(DSYMUTIL) $(SYMROOT)/$(LIB) -o $(SYMROOT)/$(LIB).dSYM
3f2457aa
A
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
1bd2040a
A
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)))
3f2457aa
A
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)/