1 1.2.2.5 yamt # $NetBSD: Makefile.libkern,v 1.2.2.5 2010/03/11 15:04:21 yamt Exp $ 2 1.2.2.2 yamt 3 1.2.2.2 yamt # 4 1.2.2.2 yamt # Variable definitions for libkern. 5 1.2.2.2 yamt # 6 1.2.2.2 yamt # Before including this, you _must_ set 7 1.2.2.2 yamt # KERNDIR: location of sys/lib/libkern 8 1.2.2.2 yamt # 9 1.2.2.2 yamt # You *may* set: 10 1.2.2.2 yamt # LIBKERN_ARCH: architecture subdir to be used 11 1.2.2.2 yamt # KERNCPPFLAGS: see Makefile.inc 12 1.2.2.2 yamt # KERNMICPPFLAGS: see Makefile.inc 13 1.2.2.2 yamt # 14 1.2.2.2 yamt 15 1.2.2.2 yamt .include <bsd.own.mk> 16 1.2.2.2 yamt 17 1.2.2.2 yamt .if defined(LIBKERN_ARCH) && !empty(LIBKERN_ARCH) && \ 18 1.2.2.2 yamt exists(${KERNDIR}/arch/${LIBKERN_ARCH}) 19 1.2.2.2 yamt ARCHSUBDIR= ${LIBKERN_ARCH} 20 1.2.2.2 yamt .elif defined(MACHINE_ARCH) && !empty(MACHINE_ARCH) && \ 21 1.2.2.2 yamt exists(${KERNDIR}/arch/${MACHINE_ARCH}) 22 1.2.2.2 yamt ARCHSUBDIR= ${MACHINE_ARCH} 23 1.2.2.2 yamt .elif defined(MACHINE_CPU) && !empty(MACHINE_CPU) && \ 24 1.2.2.2 yamt exists(${KERNDIR}/arch/${MACHINE_CPU}) 25 1.2.2.2 yamt ARCHSUBDIR= ${MACHINE_CPU} 26 1.2.2.2 yamt .endif 27 1.2.2.2 yamt 28 1.2.2.2 yamt M= ${KERNDIR}/arch/${ARCHSUBDIR} 29 1.2.2.2 yamt 30 1.2.2.2 yamt CPPFLAGS+= -I$M ${KERNCPPFLAGS} ${KERNMISCCPPFLAGS} 31 1.2.2.2 yamt 32 1.2.2.2 yamt .include "${.PARSEDIR}/../../../common/lib/libc/Makefile.inc" 33 1.2.2.2 yamt .include "${.PARSEDIR}/../../../common/lib/libutil/Makefile.inc" 34 1.2.2.2 yamt .include "${.PARSEDIR}/../../../common/lib/libprop/Makefile.inc" 35 1.2.2.2 yamt 36 1.2.2.2 yamt CPPFLAGS+= -I${KERNDIR}/../../../common/include 37 1.2.2.2 yamt 38 1.2.2.2 yamt .PATH.c: ${KERNDIR} 39 1.2.2.2 yamt .if exists ($M/Makefile.inc) 40 1.2.2.2 yamt .PATH.c: $M 41 1.2.2.2 yamt .PATH.S: $M 42 1.2.2.2 yamt .include "$M/Makefile.inc" 43 1.2.2.2 yamt .endif 44 1.2.2.2 yamt 45 1.2.2.5 yamt .if (${MACHINE_ARCH} != "alpha") && \ 46 1.2.2.5 yamt (${MACHINE_ARCH} != "mips64eb") && \ 47 1.2.2.5 yamt (${MACHINE_ARCH} != "mips64el") && \ 48 1.2.2.5 yamt (${MACHINE_ARCH} != "powerpc64") && \ 49 1.2.2.5 yamt (${MACHINE_ARCH} != "sparc64") && \ 50 1.2.2.5 yamt (${MACHINE_ARCH} != "x86_64") 51 1.2.2.2 yamt # Quad support 52 1.2.2.2 yamt SRCS+= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c iordi3.c \ 53 1.2.2.2 yamt lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c \ 54 1.2.2.2 yamt subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c 55 1.2.2.2 yamt .endif 56 1.2.2.2 yamt 57 1.2.2.2 yamt # Other stuff 58 1.2.2.5 yamt SRCS+= kern_assert.c __main.c 59 1.2.2.2 yamt SRCS+= __cmsg_alignbytes.c cpuset.c inet_addr.c intoa.c 60 1.2.2.5 yamt .if empty(SRCS:Mbyte_swap_8.*) 61 1.2.2.4 yamt SRCS+= bswap64.c 62 1.2.2.5 yamt .endif 63 1.2.2.2 yamt SRCS+= md4c.c md5c.c rmd160.c sha1.c sha2.c 64 1.2.2.2 yamt SRCS+= pmatch.c arc4random.c bcd.c mcount.c mertwist.c crc32.c 65 1.2.2.2 yamt 66 1.2.2.4 yamt SRCS+= strsep.c strstr.c 67 1.2.2.4 yamt SRCS+= strlcpy.c strlcat.c 68 1.2.2.2 yamt 69 1.2.2.4 yamt SRCS+= imax.c imin.c lmax.c lmin.c max.c min.c ulmax.c ulmin.c 70 1.2.2.4 yamt SRCS+= memcpy.c memmove.c 71 1.2.2.4 yamt SRCS+= strchr.c strrchr.c 72 1.2.2.5 yamt SRCS+= memcmp.c 73 1.2.2.5 yamt .if empty(SRCS:Mmemset2.*) 74 1.2.2.5 yamt SRCS+= memset.c 75 1.2.2.5 yamt .endif 76 1.2.2.4 yamt SRCS+= popcount32.c popcount64.c 77 1.2.2.4 yamt SRCS+= strtoul.c strtoll.c strtoull.c strtoumax.c 78 1.2.2.4 yamt 79 1.2.2.4 yamt SRCS+= scanc.c skpc.c 80 1.2.2.4 yamt SRCS+= random.c 81 1.2.2.4 yamt 82 1.2.2.4 yamt SRCS+= memchr.c 83 1.2.2.4 yamt SRCS+= strcat.c strcmp.c strcpy.c strlen.c 84 1.2.2.4 yamt SRCS+= strncmp.c strncpy.c 85 1.2.2.4 yamt SRCS+= strcasecmp.c strncasecmp.c 86 1.2.2.2 yamt 87 1.2.2.2 yamt SRCS+= xlat_mbr_fstype.c 88 1.2.2.2 yamt 89 1.2.2.3 yamt SRCS+= heapsort.c ptree.c rb.c rpst.c 90 1.2.2.2 yamt 91 1.2.2.2 yamt # Files to clean up 92 1.2.2.2 yamt CLEANFILES+= lib${LIB}.o lib${LIB}.po 93 1.2.2.2 yamt 94 1.2.2.4 yamt # Remove from SRCS the .c files for any .S files added by the MD makefiles, 95 1.2.2.4 yamt # also remove from SRCS the .c files for the .c files in NO_SRCS. 96 1.2.2.4 yamt # (Unlike libc, we don't worry about lint) 97 1.2.2.4 yamt 98 1.2.2.4 yamt .for check_file in ${SRCS:M*.S} ${NO_SRCS} 99 1.2.2.4 yamt unwanted_file := ${SRCS:M${check_file:.S=.c}} 100 1.2.2.4 yamt .if "${unwanted_file}" != "" 101 1.2.2.4 yamt SRCS := ${SRCS:N${unwanted_file}} 102 1.2.2.2 yamt .endif 103 1.2.2.4 yamt .endfor 104