1223695Sdfr# $FreeBSD$ 2223695Sdfr# Originally from $NetBSD: Makefile,v 1.21 1997/10/26 22:08:38 lukem Exp $ 3223695Sdfr# 4223695Sdfr# Notes: 5223695Sdfr# - We don't use the libc strerror/sys_errlist because the string table is 6223695Sdfr# quite large. 7223695Sdfr# 8223695Sdfr 9223695SdfrNO_MAN= 10223695Sdfr 11223695Sdfr.include <bsd.own.mk> 12255944SbdreweryMK_SSP= no 13223695Sdfr 14223695SdfrS= ${.CURDIR}/../../../../lib/libstand 15223695Sdfr 16223695Sdfr.PATH: ${S} 17223695SdfrLIB= stand 18223695SdfrINTERNALLIB= 19223695SdfrNO_PROFILE= 20223695SdfrNO_PIC= 21223695Sdfr 22223695SdfrWARNS?= 0 23223695Sdfr 24223695SdfrCFLAGS+= -ffreestanding -Wformat -fPIC 25223695SdfrCFLAGS+= -I${.CURDIR}/../../../../lib/libstand 26223695Sdfr 27223695Sdfr.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 28223695SdfrCFLAGS+= -mno-mmx -mno-3dnow -mno-sse -mno-sse2 29223695Sdfr.endif 30223695Sdfr.if ${MACHINE_CPUARCH} == "i386" 31223695SdfrCFLAGS+= -mpreferred-stack-boundary=2 32223695SdfrCFLAGS+= -mno-sse3 33223695Sdfr.endif 34223695Sdfr.if ${MACHINE} == "pc98" 35223695SdfrCFLAGS+= -Os 36223695Sdfr.endif 37223695Sdfr.if ${MACHINE_CPUARCH} == "powerpc" 38223695SdfrCFLAGS+= -msoft-float -D_STANDALONE -DNETIF_DEBUG 39223695Sdfr.endif 40223695Sdfr.if ${MACHINE_CPUARCH} == "arm" 41223695SdfrCFLAGS+= -msoft-float -D_STANDALONE 42223695Sdfr.endif 43223695Sdfr 44223695Sdfr# standalone components and stuff we have modified locally 45237410SdelphijSRCS+= gzguts.h zutil.h __main.c assert.c bcd.c bswap.c environment.c getopt.c gets.c \ 46223695Sdfr globals.c pager.c printf.c strdup.c strerror.c strtol.c random.c \ 47223695Sdfr sbrk.c twiddle.c zalloc.c zalloc_malloc.c 48223695Sdfr 49223695Sdfr# private (pruned) versions of libc string functions 50223695SdfrSRCS+= strcasecmp.c 51223695Sdfr 52223695SdfrLIBC= ${.CURDIR}/../../../../lib/libc 53223695Sdfr 54223695Sdfr.PATH: ${LIBC}/net 55223695Sdfr 56223695SdfrSRCS+= ntoh.c 57223695Sdfr 58223695Sdfr# string functions from libc 59223695Sdfr.PATH: ${LIBC}/string 60223695Sdfr.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "powerpc" || \ 61223695Sdfr ${MACHINE_CPUARCH} == "sparc64" || ${MACHINE_CPUARCH} == "amd64" || \ 62223695Sdfr ${MACHINE_CPUARCH} == "arm" 63229368SedSRCS+= bcmp.c bcopy.c bzero.c ffs.c memccpy.c memchr.c memcmp.c memcpy.c \ 64229368Sed memmove.c memset.c qdivrem.c strcat.c strchr.c strcmp.c strcpy.c \ 65229368Sed strcspn.c strlen.c strncat.c strncmp.c strncpy.c strpbrk.c \ 66229368Sed strrchr.c strsep.c strspn.c strstr.c strtok.c swab.c 67223695Sdfr.endif 68223695Sdfr.if ${MACHINE_CPUARCH} == "arm" 69223695Sdfr.PATH: ${LIBC}/arm/gen 70223695SdfrSRCS+= divsi3.S 71223695Sdfr.endif 72223695Sdfr.if ${MACHINE_CPUARCH} == "ia64" 73223695Sdfr.PATH: ${LIBC}/ia64/string 74223695SdfrSRCS+= bcmp.c bcopy.S bzero.S ffs.S index.c memccpy.c memchr.c memcmp.c \ 75223695Sdfr memcpy.S memmove.S memset.c rindex.c strcat.c strchr.c \ 76223695Sdfr strcmp.c strcpy.c strcspn.c strlen.c \ 77223695Sdfr strncat.c strncmp.c strncpy.c strpbrk.c strrchr.c strsep.c \ 78223695Sdfr strspn.c strstr.c strtok.c swab.c 79223695Sdfr 80223695Sdfr.PATH: ${LIBC}/ia64/gen 81223695SdfrSRCS+= __divdi3.S __divsi3.S __moddi3.S __modsi3.S 82223695SdfrSRCS+= __udivdi3.S __udivsi3.S __umoddi3.S __umodsi3.S 83223695Sdfr.endif 84223695Sdfr.if ${MACHINE_CPUARCH} == "powerpc" 85223695Sdfr.PATH: ${LIBC}/libc/quad 86223695SdfrSRCS+= ashldi3.c ashrdi3.c 87223695Sdfr.PATH: ${LIBC}/powerpc/gen 88223695SdfrSRCS+= syncicache.c 89223695Sdfr.endif 90223695Sdfr 91223695Sdfr# uuid functions from libc 92223695Sdfr.PATH: ${LIBC}/uuid 93223695SdfrSRCS+= uuid_equal.c uuid_is_nil.c 94223695Sdfr 95223695Sdfr# _setjmp/_longjmp 96223695Sdfr.if ${MACHINE_CPUARCH} == "amd64" 97244537Srpaulo.PATH: ${S}/amd64 98223695Sdfr.elif ${MACHINE_ARCH} == "powerpc64" 99223695Sdfr.PATH: ${S}/powerpc 100223695Sdfr.else 101223695Sdfr.PATH: ${S}/${MACHINE_CPUARCH} 102223695Sdfr.endif 103223695SdfrSRCS+= _setjmp.S 104223695Sdfr 105223695Sdfr# decompression functionality from libbz2 106223695Sdfr# NOTE: to actually test this functionality after libbz2 upgrade compile 107223695Sdfr# loader(8) with LOADER_BZIP2_SUPPORT defined 108223695Sdfr.PATH: ${.CURDIR}/../../../../contrib/bzip2 109223695SdfrCFLAGS+= -DBZ_NO_STDIO -DBZ_NO_COMPRESS 110223695SdfrSRCS+= libstand_bzlib_private.h 111223695Sdfr 112223695Sdfr.for file in bzlib.c crctable.c decompress.c huffman.c randtable.c 113223695SdfrSRCS+= _${file} 114223695SdfrCLEANFILES+= _${file} 115223695Sdfr 116223695Sdfr_${file}: ${file} 117223695Sdfr sed "s|bzlib_private\.h|libstand_bzlib_private.h|" ${.ALLSRC} > ${.TARGET} 118223695Sdfr.endfor 119223695Sdfr 120223695SdfrCLEANFILES+= libstand_bzlib_private.h 121223695Sdfrlibstand_bzlib_private.h: bzlib_private.h 122223695Sdfr sed -e 's|<stdlib.h>|"stand.h"|' \ 123223695Sdfr ${.ALLSRC} > ${.TARGET} 124223695Sdfr 125223695Sdfr# decompression functionality from libz 126223695Sdfr.PATH: ${.CURDIR}/../../../../lib/libz 127223695SdfrCFLAGS+=-DHAVE_MEMCPY -I${.CURDIR}/../../../../lib/libz 128237410SdelphijSRCS+= adler32.c crc32.c libstand_zutil.h libstand_gzguts.h 129223695Sdfr 130223695Sdfr.for file in infback.c inffast.c inflate.c inftrees.c zutil.c 131223695SdfrSRCS+= _${file} 132223695SdfrCLEANFILES+= _${file} 133223695Sdfr 134223695Sdfr_${file}: ${file} 135237410Sdelphij sed -e "s|zutil\.h|libstand_zutil.h|" \ 136237410Sdelphij -e "s|gzguts\.h|libstand_gzguts.h|" ${.ALLSRC} > ${.TARGET} 137223695Sdfr.endfor 138223695Sdfr 139223695Sdfr# depend on stand.h being able to be included multiple times 140237410Sdelphij.for file in zutil.h gzguts.h 141237410SdelphijCLEANFILES+= libstand_${file} 142237410Sdelphijlibstand_${file}: ${file} 143237410Sdelphij sed -e 's|<fcntl.h>|"stand.h"|' \ 144237410Sdelphij -e 's|<stddef.h>|"stand.h"|' \ 145223695Sdfr -e 's|<string.h>|"stand.h"|' \ 146237410Sdelphij -e 's|<stdio.h>|"stand.h"|' \ 147223695Sdfr -e 's|<stdlib.h>|"stand.h"|' \ 148223695Sdfr ${.ALLSRC} > ${.TARGET} 149237410Sdelphij.endfor 150223695Sdfr 151223695Sdfr# io routines 152223695SdfrSRCS+= closeall.c dev.c ioctl.c nullfs.c stat.c \ 153223695Sdfr fstat.c close.c lseek.c open.c read.c write.c readdir.c 154223695Sdfr 155223695Sdfr# network routines 156223695SdfrSRCS+= arp.c ether.c inet_ntoa.c in_cksum.c net.c udp.c netif.c rpc.c 157223695Sdfr 158223695Sdfr# network info services: 159223695SdfrSRCS+= bootp.c rarp.c bootparam.c 160223695Sdfr 161223695Sdfr# boot filesystems 162223695SdfrSRCS+= ufs.c nfs.c cd9660.c tftp.c gzipfs.c bzipfs.c 163223695SdfrSRCS+= dosfs.c ext2fs.c 164223695SdfrSRCS+= splitfs.c 165223695Sdfr 166223695Sdfr.include <bsd.lib.mk> 167