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