11.98Srin#	$NetBSD: Makefile,v 1.98 2024/06/29 08:00:06 rin Exp $
21.1Sbrezak
31.1SbrezakLIB=	sa
41.79SmattLIBISPRIVATE?= yes
51.96SchristosNOSSP=yes
61.96SchristosNOFORTIFY=yes
71.1Sbrezak
81.44ShubertfSA_USE_CREAD?= no		# Read compressed kernels
91.44ShubertfSA_INCLUDE_NET?= yes		# Netboot via TFTP, NFS
101.50SthorpejSA_USE_LOADFILE?= no		# Generic executable loading support
111.76StsutsuiSA_ENABLE_LS_OP?= no		# Filesystems ls operation
121.91SrinSA_ENABLE_BIENDIAN?= no		# Biendian support
131.91Srin				# (currently only for loadfile_elf*)
141.7Spk
151.66Smlelstv#DEBUGCPPFLAGS= -DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG -DRPC_DEBUG -DRARP_DEBUG -DARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID
161.32SdrochnerCPPFLAGS=	-I${SADIR} ${SACPPFLAGS} ${SAMISCCPPFLAGS} \
171.16Scgd		-DCOMPAT_UFS ${DEBUGCPPFLAGS}
181.7Spk
191.21Slukem#COPTS+= -ansi -pedantic -Wall
201.32Sdrochner
211.89Schristos# For testing
221.90Schristos#WARNS=6
231.90Schristos#COPTS+=-ffreestanding -Wpointer-sign
241.90Schristos#CPPFLAGS+= -I${.CURDIR}/../../ -I${.CURDIR}
251.89Schristos
261.68Stsutsui.if defined(SA_EXTRADIR)
271.68Stsutsui.-include "${SA_EXTRADIR}/Makefile.inc"
281.68Stsutsui.endif
291.68Stsutsui
301.69She.include <bsd.own.mk>
311.69She
321.98Srin.PATH.c: ${SADIR} \
331.98Srin	${.PARSEDIR}/../../../common/lib/libc/stdlib \
341.98Srin	${.PARSEDIR}/../../../common/lib/libc/string
351.2Sbrezak
361.2Sbrezak# stand routines
371.84SisakiSRCS+=	alloc.c atoi.c errno.c exit.c files.c \
381.98Srin	getfile.c getopt.c gets.c globals.c \
391.81Schristos	panic.c printf.c qsort.c snprintf.c strerror.c \
401.81Schristos	subr_prf.c twiddle.c checkpasswd.c
411.1Sbrezak
421.83SrtrSRCS+=	bootcfg.c
431.83Srtr
441.64Schristos# string routines
451.73Sjoerg.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64"
461.64SchristosSRCS+=	memcmp.c memcpy.c memmove.c memset.c strchr.c
471.73Sjoerg.endif
481.65SchristosSRCS+=	bcopy.c bzero.c	# Remove me eventually.
491.64Schristos
501.1Sbrezak# io routines
511.94SmrgSRCS+=	closeall.c dev.c disklabel.c ioctl.c nullfs.c stat.c fstat.c
521.15ScgdSRCS+=	close.c lseek.c open.c read.c write.c
531.15Scgd.if (${SA_USE_CREAD} == "yes")
541.15ScgdCPPFLAGS+= -D__INTERNAL_LIBSA_CREAD
551.15ScgdSRCS+=	cread.c
561.15Scgd.endif
571.76Stsutsui.if (${SA_ENABLE_LS_OP} == "yes")
581.76StsutsuiSRCS+= ls.c
591.76Stsutsui.endif
601.2Sbrezak
611.31Schristos.if (${SA_USE_LOADFILE} == "yes")
621.71SmartinSRCS+=	loadfile.c loadfile_ecoff.c loadfile_elf32.c lookup_elf32.c \
631.71Smartin	loadfile_elf64.c lookup_elf64.c
641.70She.if (${MACHINE_CPU} != "mips")
651.70SheSRCS+=	loadfile_aout.c
661.70She.endif
671.31Schristos.endif
681.54Sdsl
691.15Scgd.if (${SA_INCLUDE_NET} == "yes")
701.2Sbrezak# network routines
711.72SzoltanSRCS+=	arp.c ether.c ether_sprintf.c ip_cksum.c net.c netif.c rpc.c udp.c ip.c
721.2Sbrezak
731.2Sbrezak# network info services:
741.7SpkSRCS+=	bootp.c rarp.c bootparam.c
751.1Sbrezak
761.2Sbrezak# boot filesystems
771.27SdrochnerSRCS+=	nfs.c tftp.c
781.27Sdrochner.endif
791.54Sdsl
801.91Srin.if (${SA_ENABLE_BIENDIAN} == "yes")
811.91SrinCPPFLAGS+=	-DLIBSA_BIENDIAN_SUPPORT
821.91SrinSRCS+=		byteorder.c
831.91Srin.endif
841.91Srin
851.95SmrgSRCS+=	ffsv1.c ffsv2.c ffs_bswap.c
861.61StsutsuiSRCS+=	lfsv1.c lfsv2.c
871.60StsutsuiSRCS+=	cd9660.c
881.60StsutsuiSRCS+=	ustarfs.c
891.60StsutsuiSRCS+=	dosfs.c
901.60StsutsuiSRCS+=	ext2fs.c
911.77SchristosSRCS+=	minixfs3.c
921.77SchristosSRCS+=	fnmatch.c
931.62Stsutsui# for historic compatibility ufs == ffsv1
941.54SdslSRCS+=	ufs.c
951.19Scjs
961.1Sbrezak.include <bsd.lib.mk>
971.15Scgd
981.88Schristoslib${LIB}.o:: ${OBJS:O} __buildstdlib
991.59Smrg
1001.59SmrgCPPFLAGS+=	-Wno-pointer-sign
101