# from @(#)Makefile.inc 8.3 (Berkeley) 2/4/95 # $FreeBSD: src/lib/libc/stdlib/Makefile.inc,v 1.45 2003/04/05 07:33:46 tjr Exp $ # machine-dependent stdlib sources .sinclude "${.CURDIR}/${MACHINE_ARCH}/stdlib/Makefile.inc" # machine-independent stdlib sources .PATH: ${.CURDIR}/stdlib CWD := ${.CURDIR}/stdlib MISRCS+=a64l.c grantpt.c l64a.c .ifdef FEATURE_BLOCKS MISRCS+=qsort_b.c .endif # FEATURE_BLOCKS .include "Makefile.fbsd_begin" FBSDMISRCS=_Exit_.c abort.c abs.c atexit.c atof.c atoi.c atol.c atoll.c \ bsearch.c div.c exit.c getenv.c getopt.c getopt_long.c getsubopt.c \ hcreate.c heapsort.c imaxabs.c imaxdiv.c insque.c labs.c \ ldiv.c llabs.c lldiv.c lsearch.c merge.c putenv.c qsort.c qsort_r.c \ radixsort.c rand.c random.c reallocf.c realpath.c remque.c setenv.c \ strhash.c strtoimax.c strtol.c strtoll.c strtoq.c strtoul.c \ strtoull.c strtoumax.c strtouq.c system.c tdelete.c tfind.c tsearch.c \ twalk.c FBSDHDRS= atexit.h .include "Makefile.fbsd_end" # special cases: heapsort_b-fbsd.c, merge_b-fbsd.c .for _file in heapsort merge .ifmake autopatch .for _cwd in ${CWD} # This .for statement forces evaluation of ${CWD} AUTOPATCHSRCS+= ${_cwd}/${_file}_b-fbsd.c ${_cwd}/${_file}_b-fbsd.c: ${_cwd}/FreeBSD/${_file}.c ${CP} ${.ALLSRC} ${.TARGET} ${PATCH} ${.TARGET} ${.ALLSRC:S/${_file}/${_file}_b/}.patch .endfor # _cwd .else # !autopatch .ifdef FEATURE_BLOCKS MISRCS+= ${_file}_b.c .endif # FEATURE_BLOCKS .endif # autopatch .endfor # _file # special cases: heapsort_r-fbsd.c .for _file in heapsort .ifmake autopatch .for _cwd in ${CWD} # This .for statement forces evaluation of ${CWD} AUTOPATCHSRCS+= ${_cwd}/${_file}_r-fbsd.c ${_cwd}/${_file}_r-fbsd.c: ${_cwd}/FreeBSD/${_file}.c ${CP} ${.ALLSRC} ${.TARGET} ${PATCH} ${.TARGET} ${.ALLSRC:S/${_file}/${_file}_r/}.patch .endfor # _cwd .else # !autopatch MISRCS+= ${_file}_r.c .endif # autopatch .endfor # _file # special cases: psort{,_b,_r}-fbsd.c psort.3 .for _cwd in ${CWD} # This .for statement forces evaluation of ${CWD} .ifmake autopatch AUTOPATCHSRCS+= ${_cwd}/psort-fbsd.c ${_cwd}/psort-fbsd.c: ${_cwd}/qsort-fbsd.c ${CP} ${.ALLSRC} ${.TARGET} ${PATCH} ${.TARGET} ${_cwd}/psort.c.patch .for _file in psort_b psort_r AUTOPATCHSRCS+= ${_cwd}/${_file}-fbsd.c ${_cwd}/${_file}-fbsd.c: ${_cwd}/psort-fbsd.c ${LN} ${.ALLSRC} ${.TARGET} .endfor # _file AUTOPATCHMAN+= ${_cwd}/psort.3 ${_cwd}/psort.3: ${_cwd}/qsort.3 ${CP} ${.ALLSRC} ${.TARGET} ${PATCH} ${.TARGET} ${_cwd}/psort.3.patch .else # !autopatch MISRCS+= psort.c psort_r.c CFLAGS-psort_r-fbsd.c += -DI_AM_PSORT_R .ifdef FEATURE_BLOCKS MISRCS+= psort_b.c CFLAGS-psort_b-fbsd.c += -DI_AM_PSORT_B .endif # FEATURE_BLOCKS .endif # autopatch .endfor # _cwd .include "Makefile.nbsd_begin" NBSDMISRCS = strfmon.c .include "Makefile.nbsd_end" # 4302056: compile qsort.c and bsearch.c with -fexceptions .for _src in qsort-fbsd.c bsearch-fbsd.c CFLAGS-${_src} += -fexceptions .endfor PRIV_INSTHDRS += ${SRCROOT}/stdlib/atexit.h .include "Makefile.obsd_begin" OBSDMISRCS=ecvt.c gcvt.c .include "Makefile.obsd_end" LEGACYSRCS+= getopt.c putenv.c realpath.c setenv.c system.c DARWINEXTSNSRCS += realpath.c CANCELABLESRCS += system.c # set the LIBC_ALIAS_* macros so we can decorate the symbol independent # of other macro settings CFLAGS-getopt-fbsd.c += -DLIBC_ALIAS_GETOPT CFLAGS-putenv-fbsd.c += -DLIBC_ALIAS_PUTENV CFLAGS-realpath-fbsd.c += -DLIBC_ALIAS_REALPATH CFLAGS-setenv-fbsd.c += -DLIBC_ALIAS_SETENV -DLIBC_ALIAS_UNSETENV CFLAGS-system-fbsd.c += -DLIBC_ALIAS_SYSTEM .if ${LIB} == "c" MAN3+= a64l.3 grantpt.3 psort.3 MAN3+= strtod_l.3 strtol_l.3 .include "Makefile.fbsd_begin" FBSDMAN3= abort.3 abs.3 alloca.3 atexit.3 atof.3 atoi.3 atol.3 bsearch.3 \ div.3 exit.3 getenv.3 getopt.3 getopt_long.3 getsubopt.3 \ hcreate.3 imaxabs.3 imaxdiv.3 insque.3 labs.3 ldiv.3 llabs.3 lldiv.3 \ lsearch.3 memory.3 qsort.3 radixsort.3 rand.3 random.3 realpath.3 \ strtod.3 strtol.3 strtoul.3 system.3 tsearch.3 .include "Makefile.fbsd_end" .include "Makefile.nbsd_begin" NBSDMAN3= strfmon.3 .include "Makefile.nbsd_end" .include "Makefile.obsd_begin" OBSDMAN3= ecvt.3 .include "Makefile.obsd_end" MLINKS+= a64l.3 l64a.3 .ifdef FEATURE_BLOCKS MLINKS+= atexit.3 atexit_b.3 .endif # FEATURE_BLOCKS MLINKS+= atof.3 atof_l.3 MLINKS+= atoi.3 atoi_l.3 MLINKS+= atol.3 atol_l.3 \ atol.3 atoll.3 \ atol.3 atoll_l.3 .ifdef FEATURE_BLOCKS MLINKS+= bsearch.3 bsearch_b.3 .endif # FEATURE_BLOCKS MLINKS+= ecvt.3 fcvt.3 \ ecvt.3 gcvt.3 MLINKS+= exit.3 _Exit.3 MLINKS+= getenv.3 putenv.3 \ getenv.3 setenv.3 \ getenv.3 unsetenv.3 MLINKS+= getopt_long.3 getopt_long_only.3 MLINKS+= grantpt.3 posix_openpt.3 \ grantpt.3 ptsname.3 \ grantpt.3 unlockpt.3 MLINKS+= hcreate.3 hdestroy.3 \ hcreate.3 hsearch.3 MLINKS+= insque.3 remque.3 MLINKS+= lsearch.3 lfind.3 MLINKS+= psort.3 psort_r.3 .ifdef FEATURE_BLOCKS MLINKS+= psort.3 psort_b.3 .endif # FEATURE_BLOCKS MLINKS+= qsort.3 heapsort.3 \ qsort.3 mergesort.3 \ qsort.3 qsort_r.3 .ifdef FEATURE_BLOCKS MLINKS+= qsort.3 heapsort_b.3 \ qsort.3 mergesort_b.3 \ qsort.3 qsort_b.3 .endif # FEATURE_BLOCKS MLINKS+= radixsort.3 sradixsort.3 MLINKS+= rand.3 rand_r.3 \ rand.3 srand.3 \ rand.3 sranddev.3 MLINKS+= random.3 initstate.3 \ random.3 setstate.3 \ random.3 srandom.3 \ random.3 srandomdev.3 MLINKS+=strfmon.3 strfmon_l.3 MLINKS+= strtod.3 strtof.3 \ strtod.3 strtold.3 MLINKS+= strtod_l.3 strtof_l.3 \ strtod_l.3 strtold_l.3 MLINKS+= strtol.3 strtoll.3 \ strtol.3 strtoq.3 \ strtol.3 strtoimax.3 MLINKS+= strtol_l.3 strtoimax_l.3 \ strtol_l.3 strtoll_l.3 \ strtol_l.3 strtoq_l.3 \ strtol_l.3 strtoul_l.3 \ strtol_l.3 strtoull_l.3 \ strtol_l.3 strtoumax_l.3 \ strtol_l.3 strtouq_l.3 MLINKS+= strtoul.3 strtoull.3 \ strtoul.3 strtoumax.3 \ strtoul.3 strtouq.3 MLINKS+= tsearch.3 tdelete.3 \ tsearch.3 tfind.3 \ tsearch.3 twalk.3 .endif