CURRENT_PROJECT_VERSION = 299.31
ifeq "$(PLATFORM)" ""
PLATFORM := $(shell uname)
endif
ifeq "$(PLATFORM)" "Darwin"
PLATFORM_CFLAGS = -D__MACH__=1 -fconstant-cfstrings
endif
ifeq "$(PLATFORM)" "Linux"
PLATFORM_CFLAGS = -D__LINUX__=1
endif
ifeq "$(PLATFORM)" "FreeBSD"
PLATFORM_CFLAGS = -D__FREEBSD__=1
endif
ifeq "$(PLATFORM)" "WIN32"
PLATFORM_CFLAGS = -D__WIN32__=1
OBJROOT = CoreFoundation.obj
SYMROOT = CoreFoundation.sym
DSTROOT = CoreFoundation.dst
endif
ifndef SRCROOT
SRCROOT = .
endif
ifndef OBJROOT
OBJROOT = /tmp/CoreFoundation.obj
endif
ifndef SYMROOT
SYMROOT = /tmp/CoreFoundation.sym
endif
ifndef DSTROOT
DSTROOT = /tmp/CoreFoundation.dst
endif
SILENT = @
ifeq "$(PLATFORM)" "WIN32"
CC = gcc
ECHO = echo
MKDIRS = mkdir -p
COPY = cp
COPY_RECUR = cp -r
REMOVE = rm
REMOVE_RECUR = rm -rf
SYMLINK = ln -s
CHMOD = chmod
CHOWN = chown
TAR = tar
STRIP = strip
DLLTOOL = dlltool
else
ifeq "$(PLATFORM)" "Darwin"
CC = /usr/bin/cc
else
CC = /usr/bin/gcc
endif
ECHO = /bin/echo
MKDIRS = /bin/mkdir -p
COPY = /bin/cp
COPY_RECUR = /bin/cp -r
REMOVE = /bin/rm
REMOVE_RECUR = /bin/rm -rf
SYMLINK = /bin/ln -s
CHMOD = /bin/chmod
CHOWN = /usr/sbin/chown
TAR = /usr/bin/tar
STRIP = /usr/bin/strip
endif
ifeq "$(PLATFORM)" "Darwin"
WARNING_FLAGS = -Wno-precomp -Wno-four-char-constants
endif
ifeq "$(PLATFORM)" "Darwin"
ifneq "$(ARCHS)" ""
ARCH_FLAGS = $(foreach A, $(ARCHS), $(addprefix -arch , $(A)))
else
ifneq "$(RC_ARCHS)" ""
ARCH_FLAGS = $(foreach A, $(RC_ARCHS), $(addprefix -arch , $(A)))
else
ARCH_FLAGS = -arch ppc
endif
endif
endif
ifeq "$(PLATFORM)" "FreeBSD"
ARCH_FLAGS = -march=i386
endif
ifeq "$(PLATFORM)" "Linux"
ARCH_FLAGS =
endif
ifeq "$(USER)" ""
USER = unknown
endif
CFLAGS = -DCF_BUILDING_CF=1 -g -fno-common -pipe $(PLATFORM_CFLAGS) \
$(WARNING_FLAGS) -I$(SYMROOT)/ProjectHeaders -I.
ifeq "$(PLATFORM)" "WIN32"
LFLAGS = -lmsvcrt -lnetapi32 -lobjc -lole32 -lws2_32
else
LFLAGS =
endif
ifeq "$(wildcard /System/Library/Frameworks)" ""
LIBRARY_STYLE = Library
LIBRARY_EXT = .so
ifeq "$(PLATFORM)" "Linux"
LIBRARY_EXT = .a
endif
ifeq "$(PLATFORM)" "WIN32"
LIBRARY_EXT = .dll
endif
HEADER_INSTALLDIR = /usr/local/include/CoreFoundation
INSTALLDIR = /usr/local/lib
CHARACTERSETS_INSTALLDIR = /usr/local/share/CoreFoundation
else
LIBRARY_STYLE = Framework
INSTALLDIR = /System/Library/Frameworks
FRAMEWORK_DIR = /System/Library/Frameworks/CoreFoundation.framework
CHARACTERSETS_INSTALLDIR = /System/Library/CoreServices
endif
ifeq "$(PLATFORM)" "Darwin"
CFLAGS += $(ARCH_FLAGS) -F$(SYMROOT)
LFLAGS += $(ARCH_FLAGS) -dynamiclib -dynamic -compatibility_version 150 \
-current_version $(CURRENT_PROJECT_VERSION) -Wl,-init,___CFInitialize
endif
ifeq "$(PLATFORM)" "FreeBSD"
LFLAGS += -shared
endif
ifeq "$(PLATFORM)" "Linux"
LFLAGS += -lpthread
endif
CFLAGS += $(OTHER_CFLAGS) $(RC_CFLAGS)
LFLAGS += $(OTHER_LFLAGS)
SUBPROJECTS = AppServices Base Collections Locale NumberDate Parsing PlugIn \
RunLoop String StringEncodings URL
AppServices_PUBHEADERS = CFUserNotification.h
AppServices_SOURCES = CFUserNotification.c
Base_PROJHEADERS = CFPriv.h CFInternal.h ForFoundationOnly.h CFRuntime.h \
CFUtilities.h
Base_PUBHEADERS = CFBase.h CFByteOrder.h CoreFoundation.h CFUUID.h
Base_SOURCES = CFBase.c CFUtilities.c CFSortFunctions.c \
CFRuntime.c CFFileUtilities.c CFPlatform.c CFUUID.c uuid.c
Collections_PROJHEADERS = CFStorage.h
Collections_PUBHEADERS = CFArray.h CFBag.h CFBinaryHeap.h CFBitVector.h \
CFData.h CFDictionary.h CFSet.h CFTree.h
Collections_SOURCES = CFArray.c CFBag.c CFBinaryHeap.c CFBitVector.c \
CFData.c CFDictionary.c CFSet.c CFStorage.c CFTree.c
Locale_PUBHEADERS = CFLocale.h
NumberDate_PROJHEADERS =
NumberDate_PUBHEADERS = CFDate.h CFNumber.h CFTimeZone.h
NumberDate_SOURCES = CFDate.c CFNumber.c CFTimeZone.c
Parsing_PROJHEADERS = CFXMLInputStream.h
Parsing_PUBHEADERS = CFPropertyList.h CFXMLParser.h CFXMLNode.h
Parsing_SOURCES = CFBinaryPList.c CFPropertyList.c CFXMLParser.c \
CFXMLInputStream.c CFXMLNode.c CFXMLTree.c
PlugIn_PROJHEADERS = CFBundlePriv.h CFBundle_BinaryTypes.h CFBundle_Internal.h \
CFPlugIn_Factory.h
PlugIn_PUBHEADERS = CFBundle.h CFPlugIn.h CFPlugInCOM.h
PlugIn_SOURCES = CFBundle.c CFBundle_Resources.c CFPlugIn.c CFPlugIn_Factory.c \
CFPlugIn_Instance.c CFPlugIn_PlugIn.c
ifeq "$(PLATFORM)" "Darwin"
RunLoop_PROJHEADERS = CFWindowsMessageQueue.h
RunLoop_PUBHEADERS = CFRunLoop.h CFSocket.h CFMachPort.h CFMessagePort.h
RunLoop_SOURCES = CFMachPort.c CFMessagePort.c CFRunLoop.c CFSocket.c \
CFWindowsMessageQueue.c
endif
ifeq "$(PLATFORM)" "WIN32"
RunLoop_PROJHEADERS =
RunLoop_PUBHEADERS = CFRunLoop.h CFMachPort.h CFMessagePort.h
RunLoop_SOURCES = CFMachPort.c CFMessagePort.c CFRunLoop.c
endif
String_PROJHEADERS = CFCharacterSetPriv.h
String_PUBHEADERS = CFCharacterSet.h CFString.h
String_SOURCES = CFCharacterSet.c CFString.c CFStringEncodings.c \
CFStringScanner.c CFStringUtilities.c
StringEncodings_PROJHEADERS = CFStringEncodingConverter.h CFUniChar.h \
CFStringEncodingConverterExt.h CFUniCharPriv.h \
CFStringEncodingConverterPriv.h CFUnicodeDecomposition.h \
CFUnicodePrecomposition.h
StringEncodings_PUBHEADERS =
StringEncodings_SOURCES = CFStringEncodingConverter.c CFBuiltinConverters.c \
CFUnicodeDecomposition.c CFUnicodePrecomposition.c CFUniChar.c
URL_PROJHEADERS =
URL_PUBHEADERS = CFURL.h CFURLAccess.h
URL_SOURCES = CFURL.c CFURLAccess.c
OTHER_SOURCES = version.c Makefile APPLE_LICENSE PropertyList.dtd
default: build
all: build
build: prebuild actual-build postbuild
installsrc:
$(SILENT) $(ECHO) "Installing source..."
ifeq "$(SRCROOT)" "."
$(SILENT) $(ECHO) "SRCROOT must be defined to be the destination directory; it cannot be '.'"
exit 1
endif
$(SILENT) $(MKDIRS) $(SRCROOT)
$(SILENT) $(MKDIRS) $(foreach S, $(SUBPROJECTS), $(SRCROOT)/$(S).subproj)
-$(SILENT) $(foreach S, $(SUBPROJECTS), $(COPY) $(foreach F, $($(S)_SOURCES), $(S).subproj/$(F)) $(SRCROOT)/$(S).subproj;)
-$(SILENT) $(foreach S, $(SUBPROJECTS), $(COPY) $(foreach F, $($(S)_PROJHEADERS), $(S).subproj/$(F)) $(SRCROOT)/$(S).subproj;)
-$(SILENT) $(foreach S, $(SUBPROJECTS), $(COPY) $(foreach F, $($(S)_PUBHEADERS), $(S).subproj/$(F)) $(SRCROOT)/$(S).subproj;)
$(SILENT) $(COPY) $(OTHER_SOURCES) $(SRCROOT)
$(SILENT) $(COPY_RECUR) CharacterSets $(SRCROOT)
$(SILENT) $(REMOVE_RECUR) $(SRCROOT)/CharacterSets/CVS
installhdrs:
$(SILENT) $(ECHO) "Installing headers..."
ifeq "$(LIBRARY_STYLE)" "Framework"
$(SILENT) $(REMOVE) -f $(DSTROOT)/$(FRAMEWORK_DIR)/Headers
$(SILENT) $(REMOVE) -f $(DSTROOT)/$(FRAMEWORK_DIR)/PrivateHeaders
$(SILENT) $(REMOVE) -f $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/Current
$(SILENT) $(MKDIRS) $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/Headers
$(SILENT) $(MKDIRS) $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/PrivateHeaders
$(SILENT) $(SYMLINK) A $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/Current
$(SILENT) $(SYMLINK) Versions/Current/Headers $(DSTROOT)/$(FRAMEWORK_DIR)/Headers
$(SILENT) $(SYMLINK) Versions/Current/PrivateHeaders $(DSTROOT)/$(FRAMEWORK_DIR)/PrivateHeaders
-$(SILENT) $(CHMOD) +w $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/Headers/*.h
-$(SILENT) $(CHMOD) +w $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/PrivateHeaders/*.h
$(SILENT) $(COPY) $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_PUBHEADERS), $(SRCROOT)/$(S).subproj/$(F))) $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/Headers
$(SILENT) $(COPY) Base.subproj/CFPriv.h Base.subproj/CFRuntime.h $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/PrivateHeaders
$(SILENT) $(CHOWN) -R root:wheel $(DSTROOT)/$(FRAMEWORK_DIR)
-$(SILENT) $(CHMOD) -w $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/Headers/*.h
-$(SILENT) $(CHMOD) -w $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/PrivateHeaders/*.h
endif
ifeq "$(LIBRARY_STYLE)" "Library"
$(SILENT) $(MKDIRS) $(DSTROOT)/$(HEADER_INSTALLDIR)
-$(SILENT) $(CHMOD) +w $(DSTROOT)/$(HEADER_INSTALLDIR)/*.h
$(SILENT) $(COPY) $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_PUBHEADERS), $(SRCROOT)/$(S).subproj/$(F))) $(DSTROOT)/$(HEADER_INSTALLDIR)
$(SILENT) $(CHMOD) -w $(DSTROOT)/$(HEADER_INSTALLDIR)/*.h
endif
install: build
$(SILENT) $(ECHO) "Installing..."
ifeq "$(LIBRARY_STYLE)" "Framework"
$(SILENT) $(MKDIRS) $(DSTROOT)/$(FRAMEWORK_DIR)
-$(SILENT) $(CHMOD) -R +w $(DSTROOT)/$(FRAMEWORK_DIR)
$(SILENT) $(REMOVE_RECUR) $(DSTROOT)/$(FRAMEWORK_DIR)
$(SILENT) (cd $(SYMROOT) && $(TAR) -cf - CoreFoundation.framework) | (cd $(DSTROOT)/$(INSTALLDIR) && $(TAR) -xf -)
$(SILENT) $(STRIP) -S $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/CoreFoundation
$(SILENT) $(STRIP) -S $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/CoreFoundation_debug
$(SILENT) $(STRIP) -S $(DSTROOT)/$(FRAMEWORK_DIR)/Versions/A/CoreFoundation_profile
$(SILENT) $(CHMOD) -R ugo-w $(DSTROOT)/$(FRAMEWORK_DIR)
$(SILENT) $(CHMOD) -R o+rX $(DSTROOT)/$(FRAMEWORK_DIR)
$(SILENT) $(CHOWN) -R root:wheel $(DSTROOT)/$(FRAMEWORK_DIR)
endif
ifeq "$(LIBRARY_STYLE)" "Library"
$(SILENT) $(MKDIRS) $(DSTROOT)/$(INSTALLDIR)
-$(SILENT) $(CHMOD) +w $(DSTROOT)/$(INSTALLDIR)
$(SILENT) $(REMOVE) -f $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation$(LIBRARY_EXT)
$(SILENT) $(REMOVE) -f $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_debug$(LIBRARY_EXT)
$(SILENT) $(REMOVE) -f $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_profile$(LIBRARY_EXT)
$(SILENT) $(COPY) $(SYMROOT)/libCoreFoundation$(LIBRARY_EXT) $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation$(LIBRARY_EXT)
ifneq "$(LIBRARY_EXT)" ".a"
$(SILENT) $(COPY) $(SYMROOT)/libCoreFoundation_debug$(LIBRARY_EXT) $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_debug$(LIBRARY_EXT)
$(SILENT) $(COPY) $(SYMROOT)/libCoreFoundation_profile$(LIBRARY_EXT) $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_profile$(LIBRARY_EXT)
endif
-$(SILENT) $(CHOWN) root:wheel $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation$(LIBRARY_EXT)
-$(SILENT) $(CHOWN) root:wheel $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_debug$(LIBRARY_EXT)
-$(SILENT) $(CHOWN) root:wheel $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_profile$(LIBRARY_EXT)
$(SILENT) $(CHMOD) 755 $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation$(LIBRARY_EXT)
ifneq "$(LIBRARY_EXT)" ".a"
$(SILENT) $(CHMOD) 755 $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_debug$(LIBRARY_EXT)
$(SILENT) $(CHMOD) 755 $(DSTROOT)/$(INSTALLDIR)/libCoreFoundation_profile$(LIBRARY_EXT)
endif
$(SILENT) $(MKDIRS) $(DSTROOT)/$(HEADER_INSTALLDIR)
-$(SILENT) $(CHMOD) +w $(DSTROOT)/$(HEADER_INSTALLDIR)/*.h
$(SILENT) $(COPY) $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_PUBHEADERS), $(SRCROOT)/$(S).subproj/$(F))) $(DSTROOT)/$(HEADER_INSTALLDIR)
$(SILENT) $(CHMOD) -w $(DSTROOT)/$(HEADER_INSTALLDIR)/*.h
endif
$(SILENT) $(MKDIRS) $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)
-$(SILENT) $(CHMOD) 755 $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)
$(SILENT) $(MKDIRS) $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)/CharacterSets
-$(SILENT) $(CHMOD) -R +w $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)/CharacterSets
$(SILENT) $(REMOVE_RECUR) $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)/CharacterSets
$(SILENT) $(COPY_RECUR) $(SRCROOT)/CharacterSets $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)
$(SILENT) $(REMOVE_RECUR) $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)/CharacterSets/CVS
$(SILENT) $(CHOWN) -R root:wheel $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)/CharacterSets
$(SILENT) $(CHMOD) 444 $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)/CharacterSets/*
$(SILENT) $(CHMOD) 755 $(DSTROOT)/$(CHARACTERSETS_INSTALLDIR)/CharacterSets
clean:
$(SILENT) $(ECHO) "Deleting build products..."
$(SILENT) $(REMOVE_RECUR) $(SYMROOT)/ProjectHeaders
ifeq "$(LIBRARY_STYLE)" "Framework"
$(SILENT) $(REMOVE_RECUR) $(SYMROOT)/CoreFoundation.framework
endif
ifeq "$(LIBRARY_STYLE)" "Library"
$(SILENT) $(REMOVE) -f $(SYMROOT)/libCoreFoundation$(LIBRARY_EXT)
$(SILENT) $(REMOVE) -f $(SYMROOT)/libCoreFoundation_debug$(LIBRARY_EXT)
$(SILENT) $(REMOVE) -f $(SYMROOT)/libCoreFoundation_profile$(LIBRARY_EXT)
endif
ifeq "$(PLATFORM)" "WIN32"
$(SILENT) $(REMOVE) -f $(SYMROOT)/CoreFoundation*$(LIBRARY_EXT)
$(SILENT) $(REMOVE) -f $(SYMROOT)/CoreFoundation*.lib
endif
$(SILENT) $(REMOVE) -f $(OBJROOT)/*.o
prebuild:
$(SILENT) $(ECHO) "Prebuild-setup..."
ifeq "$(LIBRARY_STYLE)" "Framework"
$(SILENT) $(MKDIRS) $(SYMROOT)
$(SILENT) $(REMOVE_RECUR) $(SYMROOT)/ProjectHeaders
$(SILENT) $(MKDIRS) $(SYMROOT)/ProjectHeaders
$(SILENT) $(REMOVE) -f $(SYMROOT)/CoreFoundation.framework/Versions/Current
$(SILENT) $(REMOVE) -f $(SYMROOT)/CoreFoundation.framework/Headers
$(SILENT) $(REMOVE) -f $(SYMROOT)/CoreFoundation.framework/PrivateHeaders
$(SILENT) $(REMOVE) -f $(SYMROOT)/CoreFoundation.framework/Resources
$(SILENT) $(MKDIRS) $(SYMROOT)/CoreFoundation.framework/Versions/A/Headers
$(SILENT) $(MKDIRS) $(SYMROOT)/CoreFoundation.framework/Versions/A/PrivateHeaders
$(SILENT) $(MKDIRS) $(SYMROOT)/CoreFoundation.framework/Versions/A/Resources
$(SILENT) $(SYMLINK) A $(SYMROOT)/CoreFoundation.framework/Versions/Current
$(SILENT) $(SYMLINK) Versions/Current/Headers $(SYMROOT)/CoreFoundation.framework/Headers
$(SILENT) $(SYMLINK) Versions/Current/PrivateHeaders $(SYMROOT)/CoreFoundation.framework/PrivateHeaders
$(SILENT) $(SYMLINK) Versions/Current/Resources $(SYMROOT)/CoreFoundation.framework/Resources
$(SILENT) $(ECHO) "Copying headers..."
$(SILENT) $(COPY) $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_PROJHEADERS), $(SRCROOT)/$(S).subproj/$(F))) $(SYMROOT)/ProjectHeaders
$(SILENT) $(COPY) $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_PUBHEADERS), $(SRCROOT)/$(S).subproj/$(F))) $(SYMROOT)/CoreFoundation.framework/Versions/A/Headers
$(SILENT) $(COPY) Base.subproj/CFPriv.h Base.subproj/CFRuntime.h $(SYMROOT)/CoreFoundation.framework/Versions/A/PrivateHeaders
endif
ifeq "$(LIBRARY_STYLE)" "Library"
$(SILENT) $(MKDIRS) $(SYMROOT)
$(SILENT) $(REMOVE_RECUR) $(SYMROOT)/ProjectHeaders
$(SILENT) $(MKDIRS) $(SYMROOT)/ProjectHeaders
$(SILENT) $(ECHO) "Copying headers..."
$(SILENT) $(COPY) $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_PROJHEADERS), $(SRCROOT)/$(S).subproj/$(F))) $(SYMROOT)/ProjectHeaders
$(SILENT) $(MKDIRS) $(SYMROOT)/ProjectHeaders/CoreFoundation
$(SILENT) $(COPY) $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_PUBHEADERS), $(SRCROOT)/$(S).subproj/$(F))) $(SYMROOT)/ProjectHeaders/CoreFoundation
endif
actual-build:
$(SILENT) $(ECHO) "Building..."
$(SILENT) $(MKDIRS) $(OBJROOT)
$(SILENT) for x in $(foreach S, $(SUBPROJECTS), $(foreach F, $($(S)_SOURCES), $(SRCROOT)/$(S).subproj/$(F))) ; do \
if [ ! $(OBJROOT)/`basename $$x .c`.opt.o -nt $$x ] ; then \
$(ECHO) " ..." $$x " (optimized)" ; \
$(CC) $(CFLAGS) $$x -O -c -o $(OBJROOT)/`basename $$x .c`.opt.o ; \
fi ; \
if [ ! $(OBJROOT)/`basename $$x .c`.debug.o -nt $$x ] ; then \
$(ECHO) " ..." $$x " (debug)" ; \
$(CC) $(CFLAGS) $$x -DDEBUG -c -o $(OBJROOT)/`basename $$x .c`.debug.o ; \
fi ; \
if [ ! $(OBJROOT)/`basename $$x .c`.profile.o -nt $$x ] ; then \
$(ECHO) " ..." $$x " (profile)" ; \
$(CC) $(CFLAGS) $$x -DPROFILE -pg -O -c -o $(OBJROOT)/`basename $$x .c`.profile.o ; \
fi \
done
$(SILENT) $(CC) $(CFLAGS) $(SRCROOT)/version.c -DVERSION=$(CURRENT_PROJECT_VERSION) -DUSER=$(USER) -O -c -o $(OBJROOT)/version.opt.o
$(SILENT) $(CC) $(CFLAGS) $(SRCROOT)/version.c -DVERSION=$(CURRENT_PROJECT_VERSION) -DUSER=$(USER) -DDEBUG -c -o $(OBJROOT)/version.debug.o
$(SILENT) $(CC) $(CFLAGS) $(SRCROOT)/version.c -DVERSION=$(CURRENT_PROJECT_VERSION) -DUSER=$(USER) -DPROFILE -pg -O -c -o $(OBJROOT)/version.profile.o
$(SILENT) $(ECHO) "Linking..."
ifeq "$(PLATFORM)" "Darwin"
$(SILENT) $(CC) $(LFLAGS) -O -install_name $(FRAMEWORK_DIR)/Versions/A/CoreFoundation -o $(SYMROOT)/CoreFoundation.framework/Versions/A/CoreFoundation $(OBJROOT)/*.opt.o
$(SILENT) $(CC) $(LFLAGS) -install_name $(FRAMEWORK_DIR)/Versions/A/CoreFoundation_debug -o $(SYMROOT)/CoreFoundation.framework/Versions/A/CoreFoundation_debug $(OBJROOT)/*.debug.o
$(SILENT) $(CC) $(LFLAGS) -pg -O -install_name $(FRAMEWORK_DIR)/Versions/A/CoreFoundation_profile -o $(SYMROOT)/CoreFoundation.framework/Versions/A/CoreFoundation_profile $(OBJROOT)/*.profile.o
endif
ifeq "$(PLATFORM)" "Linux"
$(SILENT) $(ECHO) "NOTE: Producing static libraries on Linux"
$(SILENT) ar cr $(SYMROOT)/libCoreFoundation$(LIBRARY_EXT) $(OBJROOT)/*.opt.o
$(SILENT) ar cr $(SYMROOT)/libCoreFoundation_debug$(LIBRARY_EXT) $(OBJROOT)/*.debug.o
$(SILENT) ar cr $(SYMROOT)/libCoreFoundation_profile$(LIBRARY_EXT) $(OBJROOT)/*.profile.o
endif
ifeq "$(PLATFORM)" "FreeBSD"
$(SILENT) $(CC) $(LFLAGS) -O -o $(SYMROOT)/libCoreFoundation$(LIBRARY_EXT) (OBJROOT)/*.opt.o
$(SILENT) $(CC) $(LFLAGS) -o $(SYMROOT)/libCoreFoundation_debug$(LIBRARY_EXT) (OBJROOT)/*.debug.o
$(SILENT) $(CC) $(LFLAGS) -pg -O -o $(SYMROOT)/libCoreFoundation_profile$(LIBRARY_EXT) (OBJROOT)/*.profile.o
endif
ifeq "$(PLATFORM)" "WIN32"
$(SILENT) $(DLLTOOL) -e CoreFoundation -l CoreFoundation.lib $(OBJROOT)/*.opt.o
$(SILENT) $(CC) -mdll $(OBJROOT)/*.opt.o CoreFoundation -o CoreFoundation$(LIBRARY_EXT) $(LFLAGS)
$(SILENT) $(DLLTOOL) -e CoreFoundation_debug -l CoreFoundation_debug.lib $(OBJROOT)/*.debug.o
$(SILENT) $(CC) -mdll $(OBJROOT)/*.debug.o CoreFoundation_debug -o CoreFoundation_debug$(LIBRARY_EXT) $(LFLAGS)
$(SILENT) $(COPY) *.lib $(SYMROOT)
$(SILENT) $(COPY) *.dll $(SYMROOT)
$(SILENT) $(REMOVE) *.dll *.lib CoreFoundation CoreFoundation_debug
endif
$(SILENT) $(ECHO) "Done!"
postbuild:
ifeq "$(LIBRARY_STYLE)" "Framework"
-$(SILENT) $(SYMLINK) Versions/Current/CoreFoundation $(SYMROOT)/CoreFoundation.framework/CoreFoundation
-$(SILENT) $(SYMLINK) Versions/Current/CoreFoundation_debug $(SYMROOT)/CoreFoundation.framework/CoreFoundation_debug
-$(SILENT) $(SYMLINK) Versions/Current/CoreFoundation_profile $(SYMROOT)/CoreFoundation.framework/CoreFoundation_profile
endif