2
## Darwin-specific setup (Darwin is the Mac OS X developer preview, successor
3
## to Rhapsody, aka Mac OS X Server)
4
## Copyright (c) 1999-2002, International Business Machines Corporation and
5
## others. All Rights Reserved.
7
## $Id: mh-darwin,v 1.22 2002/01/31 17:03:18 yves-oss Exp $
9
## Flags for position independent code
10
SHAREDLIBCFLAGS = -dynamic
11
SHAREDLIBCXXFLAGS = -dynamic
14
## Commands to generate dependency files
15
GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
16
GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
18
## Commands to compile
19
COMPILE.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -fno-common -c
20
COMPILE.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -fno-common -c
22
## Commands to make a shared library
23
SHLIB.c= $(CC) -dynamiclib -dynamic $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -install_name $(DESTDIR)$(libdir)/$(MIDDLE_SO_TARGET)
24
SHLIB.cc= $(CXX) -dynamiclib -dynamic $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -install_name $(DESTDIR)$(libdir)/$(MIDDLE_SO_TARGET)
26
## Compiler switch to embed a runtime search path
30
## Environment variable to set a runtime search path
31
LDLIBRARYPATH_ENVVAR = DYLD_LIBRARY_PATH
33
## Shared object suffix
35
## Non-shared intermediate object suffix
38
## Versioned target for a shared library.
39
FINAL_SO_TARGET = $(basename $(SO_TARGET)).$(SO_TARGET_VERSION).$(SO)
40
MIDDLE_SO_TARGET = $(basename $(SO_TARGET)).$(SO_TARGET_VERSION_MAJOR).$(SO)
43
%.$(STATIC_O): $(srcdir)/%.c
44
$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
46
$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
48
%.$(STATIC_O): $(srcdir)/%.cpp
49
$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
51
$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
53
../data/%.o: ../data/%.c
54
$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
58
@echo "generating dependency information for $<"
59
@$(SHELL) -ec '$(GEN_DEPS.c) $< \
60
| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
61
[ -s $@ ] || rm -f $@'
64
@echo "generating dependency information for $<"
65
@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
66
| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
67
[ -s $@ ] || rm -f $@'
69
## Versioned libraries rules
71
%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO)
72
$(RM) $@ && ln -s ${<F} $@
73
%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO)
74
$(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@
76
## End Darwin-specific setup