X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/e3cf15b684ccf1496b6a682c8d46192674711eb2..b5d655f7532a546b54809da387f7467d128a756b:/Makefile?ds=sidebyside diff --git a/Makefile b/Makefile index 069ccc4..1cea12a 100644 --- a/Makefile +++ b/Makefile @@ -1,40 +1,92 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 # $FreeBSD: src/lib/libc/Makefile,v 1.31 2001/08/13 21:48:43 peter Exp $ # -# All library objects contain rcsid strings by default; they may be -# excluded as a space-saving measure. To produce a library that does -# not contain these strings, delete -DLIBC_RCS and -DSYSLIBC_RCS -# from CFLAGS below. To remove these strings from just the system call -# stubs, remove just -DSYSLIBC_RCS from CFLAGS. -# # Yes, we build everything with -g, and strip it out later... # +# -faltivec now disables inlining, so we can't use it globally. Fortunately, +# only two files need altivec support, so we use file-specific CFLAGS to add +# the option when needed. +# LIB=c SHLIB_MAJOR= 1 SHLIB_MINOR= 0 .if (${MACHINE_ARCH} == unknown) -MACHINE_ARCH = ppc +MACHINE_ARCH != /usr/bin/arch .endif -.if (${MACHINE_ARCH} == ppc) -CFLAGS += -faltivec -DALTIVEC +.if !empty $(MACHINE_ARCH:M*64) +LP64 = 1 +.endif +# RC_TARGET_CONFIG may not be set, so default to MacOSX (which is good enough +# for installsrc to autopatch all files). +.ifndef RC_TARGET_CONFIG +RC_TARGET_CONFIG = MacOSX +.endif + +#use default compiler +#CC = gcc-4.0 +GCC_VERSION != cc -dumpversion | sed -e 's/^\([^.]*\.[^.]*\).*/\1/' +GCC_42 != perl -e "print ($(GCC_VERSION) >= 4.2 ? 'YES' : 'NO')" + +.ifdef ALTLIBCHEADERS +INCLUDEDIR = ${ALTLIBCHEADERS} +LIBCFLAGS += -I${INCLUDEDIR} +.else # !ALTLIBCHEADERS +INCLUDEDIR = ${SDKROOT}/usr/include +.endif # ALTLIBCHEADERS +FRAMEWORKS = ${OBJROOT}/Frameworks +PRIVATEHEADERS = ${FRAMEWORKS}/System.framework/PrivateHeaders +PRIVINC = -I${PRIVATEHEADERS} +LIBCFLAGS += ${PRIVINC} + +SYMROOTINC = ${SYMROOT}/include +CFLAGS = -g -arch ${CCARCH} ${RC_NONARCH_CFLAGS} -std=gnu99 -fno-common -Wmost +CFLAGS += -D__LIBC__ -D__DARWIN_UNIX03=1 -D__DARWIN_64_BIT_INO_T=1 -D__DARWIN_NON_CANCELABLE=1 -D__DARWIN_VERS_1050=1 +CFLAGS += -DNOID -DLIBC_MAJOR=${SHLIB_MAJOR} +CFLAGS += -I${.OBJDIR} -I${SYMROOTINC} -I${.CURDIR}/include +AINC = -g -arch ${CCARCH} ${RC_NONARCH_CFLAGS} +AINC += -I${.CURDIR}/${MACHINE_ARCH} ${PRIVINC} +.if $(MACHINE_ARCH) != arm +CFLAGS += -force_cpusubtype_ALL +AINC += -force_cpusubtype_ALL +.endif +.ifdef SDKROOT +CFLAGS += -isysroot '${SDKROOT}' +AINC += -isysroot '${SDKROOT}' +.endif # SDKROOT + +.if ${GCC_42} != YES +CFLAGS += -no-cpp-precomp +AINC += -no-cpp-precomp .endif -CFLAGS += -DNOID -DALL_STATE -I${.CURDIR}/include -I${.CURDIR}/include/objc -CFLAGS += -DLIBC_MAJOR=${SHLIB_MAJOR} -no-cpp-precomp -force_cpusubtype_ALL -CFLAGS += -arch ${MACHINE_ARCH} -fno-common -pipe -Wmost -g -CFLAGS += -finline-limit=5000 -AINC= -I${.CURDIR}/${MACHINE_ARCH} -no-cpp-precomp -force_cpusubtype_ALL -AINC+=-arch ${MACHINE_ARCH} -g CLEANFILES+=tags INSTALL_PIC_ARCHIVE= yes PRECIOUSLIB= yes +# workaround for 3649783 +AINC += -fdollars-in-identifiers + # If these aren't set give it expected defaults DSTROOT ?= / OBJROOT ?= . SRCROOT ?= ${.CURDIR} +.ifndef SYMROOT +SYMROOT = ${.CURDIR}/SYMROOT +_x_ != test -d ${SYMROOT} || mkdir -p ${SYMROOT} +.endif DESTDIR ?= ${DSTROOT} MAKEOBJDIR ?= ${OBJROOT} +# add version string +SRCS += libc_version.c +libc_version.c: + ${SDKROOT}/Developer/Makefiles/bin/version.pl Libc > $@ + +.include "Makefile.features" .include "${.CURDIR}/Makefile.inc" .include "Makefile.xbs" + +MANFILTER = unifdef -t ${UNIFDEFARGS} +.if exists(/usr/share/mk/bsd.init.mk) +.include +.endif .include