1199767f8SToomas Soome# 2199767f8SToomas Soome# This file and its contents are supplied under the terms of the 3199767f8SToomas Soome# Common Development and Distribution License ("CDDL"), version 1.0. 4199767f8SToomas Soome# You may only use this file in accordance with the terms of version 5199767f8SToomas Soome# 1.0 of the CDDL. 6199767f8SToomas Soome# 7199767f8SToomas Soome# A full copy of the text of the CDDL should have accompanied this 8199767f8SToomas Soome# source. A copy of the CDDL is also available via the Internet at 9199767f8SToomas Soome# http://www.illumos.org/license/CDDL. 10199767f8SToomas Soome# 11199767f8SToomas Soome 12199767f8SToomas Soome# 13199767f8SToomas Soome# Copyright 2016 Toomas Soome <tsoome@me.com> 14efe51d0cSJohn Levon# Copyright 2019 Joyent, Inc. 15199767f8SToomas Soome# 16199767f8SToomas Soome 17199767f8SToomas Soome# 18199767f8SToomas Soome# Notes: 19199767f8SToomas Soome# - We don't use the libc strerror/sys_errlist because the string table is 20199767f8SToomas Soome# quite large. 21199767f8SToomas Soome# 22199767f8SToomas Soome 23199767f8SToomas Soome# standalone components and stuff we have modified locally 24*ff5d4039SToomas SoomeSRCS += $(ZLIB)/gzguts.h $(ZLIB)/zutil.h 2528de4f3cSToomas SoomeSRCS += $(SASRC)/__main.c $(SASRC)/abort.c $(SASRC)/assert.c 2686fec011SToomas SoomeSRCS += $(SASRC)/bcd.c $(SASRC)/environment.c 2728de4f3cSToomas SoomeSRCS += $(SASRC)/getopt.c $(SASRC)/random.c 2886fec011SToomas SoomeSRCS += $(SASRC)/sbrk.c $(SASRC)/twiddle.c 2986fec011SToomas SoomeSRCS += $(SASRC)/zalloc.c $(SASRC)/zalloc_malloc.c 30199767f8SToomas Soome 31*ff5d4039SToomas SoomeOBJECTS += __main.o abort.o assert.o bcd.o environment.o \ 32584814c7SToomas Soome getopt.o gets.o globals.o pager.o panic.o printf.o \ 3328de4f3cSToomas Soome strdup.o strerror.o strtol.o strtoll.o strtoul.o strtoull.o random.o \ 34199767f8SToomas Soome sbrk.o twiddle.o zalloc.o zalloc_malloc.o 35199767f8SToomas Soome 36199767f8SToomas Soome# private (pruned) versions of libc string functions 3786fec011SToomas SoomeSRCS += $(SASRC)/strcasecmp.c 38*ff5d4039SToomas SoomeOBJECTS += strcasecmp.o 39199767f8SToomas Soome 40199767f8SToomas Soome# from libc 4186fec011SToomas SoomeSRCS += $(LIBSRC)/libc/net/ntoh.c 42*ff5d4039SToomas SoomeOBJECTS += ntoh.o 43199767f8SToomas Soome 44199767f8SToomas Soome# string functions from libc 4586fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/bcmp.c $(LIBSRC)/libc/string/bcopy.c 4686fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/bzero.c $(LIBSRC)/libc/string/ffs.c 4786fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/fls.c $(LIBSRC)/libc/string/memccpy.c 4886fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/memchr.c $(LIBSRC)/libc/string/memcmp.c 4986fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/memcpy.c $(LIBSRC)/libc/string/memmove.c 5086fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/memset.c $(LIBSRC)/libc/string/strcat.c 5186fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strchr.c $(LIBSRC)/libc/string/strcmp.c 5286fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strcpy.c $(LIBSRC)/libc/string/stpcpy.c 5386fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/stpncpy.c $(LIBSRC)/libc/string/strcspn.c 5486fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strlcat.c $(LIBSRC)/libc/string/strlcpy.c 5586fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strlen.c $(LIBSRC)/libc/string/strncat.c 5686fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strncmp.c $(LIBSRC)/libc/string/strncpy.c 5786fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strpbrk.c $(LIBSRC)/libc/string/strrchr.c 5886fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strsep.c $(LIBSRC)/libc/string/strspn.c 5986fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/strstr.c $(LIBSRC)/libc/string/strtok.c 6086fec011SToomas SoomeSRCS += $(LIBSRC)/libc/string/swab.c 6186fec011SToomas Soome 6286fec011SToomas SoomeSRCS += $(SASRC)/qdivrem.c 63199767f8SToomas Soome 64*ff5d4039SToomas SoomeOBJECTS += bcmp.o bcopy.o bzero.o ffs.o fls.o \ 65199767f8SToomas Soome memccpy.o memchr.o memcmp.o memcpy.o memmove.o memset.o \ 66155e9eb1SToomas Soome qdivrem.o strcat.o strchr.o strcmp.o strcpy.o stpcpy.o stpncpy.o \ 67199767f8SToomas Soome strcspn.o strlcat.o strlcpy.o strlen.o strncat.o strncmp.o strncpy.o \ 68199767f8SToomas Soome strpbrk.o strrchr.o strsep.o strspn.o strstr.o strtok.o swab.o 69199767f8SToomas Soome 70199767f8SToomas Soome# uuid functions from libc 7186fec011SToomas SoomeSRCS += $(LIBSRC)/libc/uuid/uuid_create_nil.c 7286fec011SToomas SoomeSRCS += $(LIBSRC)/libc/uuid/uuid_equal.c 7386fec011SToomas SoomeSRCS += $(LIBSRC)/libc/uuid/uuid_is_nil.c 74199767f8SToomas Soome 7586fec011SToomas SoomeSRCS += $(SASRC)/uuid_from_string.c 7686fec011SToomas SoomeSRCS += $(SASRC)/uuid_to_string.c 77199767f8SToomas Soome 78*ff5d4039SToomas SoomeOBJECTS += uuid_create_nil.o uuid_equal.o uuid_from_string.o uuid_is_nil.o \ 79199767f8SToomas Soome uuid_to_string.o 80199767f8SToomas Soome 81199767f8SToomas Soome# decompression functionality from libbz2 82199767f8SToomas Soome# NOTE: to actually test this functionality after libbz2 upgrade compile 83199767f8SToomas Soome# loader(8) with LOADER_BZIP2_SUPPORT defined 84*ff5d4039SToomas Soomeobjs/_bzlib.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 85*ff5d4039SToomas Soomeobjs/_bzlib.o := CPPFLAGS += -I$(SRC)/common/bzip2 86*ff5d4039SToomas Soomeobjs/_bzlib.o: libstand_bzlib_private.h 87*ff5d4039SToomas Soomepics/_bzlib.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 88*ff5d4039SToomas Soomepics/_bzlib.o := CPPFLAGS += -I$(SRC)/common/bzip2 89*ff5d4039SToomas Soomepics/_bzlib.o: libstand_bzlib_private.h 90*ff5d4039SToomas Soomeobjs/_crctable.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 91*ff5d4039SToomas Soomeobjs/_crctable.o := CPPFLAGS += -I$(SRC)/common/bzip2 92*ff5d4039SToomas Soomeobjs/_crctable.o: libstand_bzlib_private.h 93*ff5d4039SToomas Soomepics/_crctable.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 94*ff5d4039SToomas Soomepics/_crctable.o := CPPFLAGS += -I$(SRC)/common/bzip2 95*ff5d4039SToomas Soomepics/_crctable.o: libstand_bzlib_private.h 96*ff5d4039SToomas Soomeobjs/_decompress.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 97*ff5d4039SToomas Soomeobjs/_decompress.o := CPPFLAGS += -I$(SRC)/common/bzip2 98*ff5d4039SToomas Soomeobjs/_decompress.o: libstand_bzlib_private.h 99*ff5d4039SToomas Soomepics/_decompress.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 100*ff5d4039SToomas Soomepics/_decompress.o := CPPFLAGS += -I$(SRC)/common/bzip2 101*ff5d4039SToomas Soomepics/_decompress.o: libstand_bzlib_private.h 102*ff5d4039SToomas Soomeobjs/_huffman.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 103*ff5d4039SToomas Soomeobjs/_huffman.o := CPPFLAGS += -I$(SRC)/common/bzip2 104*ff5d4039SToomas Soomeobjs/_huffman.o: libstand_bzlib_private.h 105*ff5d4039SToomas Soomepics/_huffman.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 106*ff5d4039SToomas Soomepics/_huffman.o := CPPFLAGS += -I$(SRC)/common/bzip2 107*ff5d4039SToomas Soomepics/_huffman.o: libstand_bzlib_private.h 108*ff5d4039SToomas Soomeobjs/_randtable.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 109*ff5d4039SToomas Soomeobjs/_randtable.o := CPPFLAGS += -I$(SRC)/common/bzip2 110*ff5d4039SToomas Soomeobjs/_randtable.o: libstand_bzlib_private.h 111*ff5d4039SToomas Soomepics/_randtable.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 112*ff5d4039SToomas Soomepics/_randtable.o := CPPFLAGS += -I$(SRC)/common/bzip2 113*ff5d4039SToomas Soomepics/_randtable.o: libstand_bzlib_private.h 114*ff5d4039SToomas Soomeobjs/bzipfs.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 115*ff5d4039SToomas Soomeobjs/bzipfs.o := CPPFLAGS += -I$(SRC)/common/bzip2 116*ff5d4039SToomas Soomeobjs/bzipfs.o: libstand_bzlib_private.h 117*ff5d4039SToomas Soomepics/bzipfs.o := CPPFLAGS += -DBZ_LOADER -DBZ_NO_STDIO -DBZ_NO_COMPRESS 118*ff5d4039SToomas Soomepics/bzipfs.o := CPPFLAGS += -I$(SRC)/common/bzip2 119*ff5d4039SToomas Soomepics/bzipfs.o: libstand_bzlib_private.h 120199767f8SToomas SoomeSRCS += libstand_bzlib_private.h 121199767f8SToomas Soome 122efe51d0cSJohn Levon# too hairy 123*ff5d4039SToomas Soomeobjs/_inflate.o := SMATCH=off 124*ff5d4039SToomas Soomepics/_inflate.o := SMATCH=off 125efe51d0cSJohn Levon 126199767f8SToomas SoomeSRCS += _bzlib.c _crctable.c _decompress.c _huffman.c _randtable.c 127*ff5d4039SToomas SoomeOBJECTS += _bzlib.o _crctable.o _decompress.o _huffman.o _randtable.o 128*ff5d4039SToomas SoomeCLEANFILES += _bzlib.c _crctable.c _decompress.c _huffman.c _randtable.c 129199767f8SToomas Soome 130f9227b31SYuri Pankov_bzlib.c: $(SRC)/common/bzip2/bzlib.c 131199767f8SToomas Soome sed "s|bzlib_private\.h|libstand_bzlib_private.h|" $^ > $@ 132199767f8SToomas Soome 133f9227b31SYuri Pankov_crctable.c: $(SRC)/common/bzip2/crctable.c 134199767f8SToomas Soome sed "s|bzlib_private\.h|libstand_bzlib_private.h|" $^ > $@ 135199767f8SToomas Soome 136f9227b31SYuri Pankov_decompress.c: $(SRC)/common/bzip2/decompress.c 137199767f8SToomas Soome sed "s|bzlib_private\.h|libstand_bzlib_private.h|" $^ > $@ 138199767f8SToomas Soome 139f9227b31SYuri Pankov_huffman.c: $(SRC)/common/bzip2/huffman.c 140199767f8SToomas Soome sed "s|bzlib_private\.h|libstand_bzlib_private.h|" $^ > $@ 141199767f8SToomas Soome 142f9227b31SYuri Pankov_randtable.c: $(SRC)/common/bzip2/randtable.c 143199767f8SToomas Soome sed "s|bzlib_private\.h|libstand_bzlib_private.h|" $^ > $@ 144199767f8SToomas Soome 145199767f8SToomas SoomeCLEANFILES += libstand_bzlib_private.h 146f9227b31SYuri Pankovlibstand_bzlib_private.h: $(SRC)/common/bzip2/bzlib_private.h 147199767f8SToomas Soome sed -e 's|<stdlib.h>|"stand.h"|' $^ > $@ 148199767f8SToomas Soome 149172f4465SToomas Soome# decompression functionality from zlib 150*ff5d4039SToomas Soomeobjs/adler32.o := CPPFLAGS += -I$(ZLIB) 151*ff5d4039SToomas Soomepics/adler32.o := CPPFLAGS += -I$(ZLIB) 152*ff5d4039SToomas Soomeobjs/crc32.o := CPPFLAGS += -I$(ZLIB) 153*ff5d4039SToomas Soomepics/crc32.o := CPPFLAGS += -I$(ZLIB) 154*ff5d4039SToomas Soomeobjs/_infback.o := CPPFLAGS += -I$(ZLIB) 155*ff5d4039SToomas Soomepics/_infback.o := CPPFLAGS += -I$(ZLIB) 156*ff5d4039SToomas Soomeobjs/_infback.o pics/_infback.o: libstand_zutil.h libstand_gzguts.h 157*ff5d4039SToomas Soomeobjs/_inffast.o := CPPFLAGS += -I$(ZLIB) 158*ff5d4039SToomas Soomepics/_inffast.o := CPPFLAGS += -I$(ZLIB) 159*ff5d4039SToomas Soomeobjs/_inffast.o pics/_inffast.o: libstand_zutil.h libstand_gzguts.h 160*ff5d4039SToomas Soomeobjs/_inflate.o := CPPFLAGS += -I$(ZLIB) 161*ff5d4039SToomas Soomepics/_inflate.o := CPPFLAGS += -I$(ZLIB) 162*ff5d4039SToomas Soomeobjs/_inflate.o pics/_inflate.o: libstand_zutil.h libstand_gzguts.h 163*ff5d4039SToomas Soomeobjs/_inftrees.o := CPPFLAGS += -I$(ZLIB) 164*ff5d4039SToomas Soomepics/_inftrees.o := CPPFLAGS += -I$(ZLIB) 165*ff5d4039SToomas Soomeobjs/_inftrees.o pics/_inftrees.o: libstand_zutil.h libstand_gzguts.h 166*ff5d4039SToomas Soomeobjs/_zutil.o := CPPFLAGS += -I$(ZLIB) 167*ff5d4039SToomas Soomepics/_zutil.o := CPPFLAGS += -I$(ZLIB) 168*ff5d4039SToomas Soomeobjs/_zutil.o pics/_zutil.o: libstand_zutil.h libstand_gzguts.h 169*ff5d4039SToomas Soomeobjs/gzipfs.o := CPPFLAGS += -I$(ZLIB) 170*ff5d4039SToomas Soomepics/gzipfs.o := CPPFLAGS += -I$(ZLIB) 171*ff5d4039SToomas Soomeobjs/gzip.o := CPPFLAGS += -I$(ZLIB) 172*ff5d4039SToomas Soomepics/gzip.o := CPPFLAGS += -I$(ZLIB) 173*ff5d4039SToomas Soome 174172f4465SToomas SoomeSRCS += $(ZLIB)/adler32.c $(ZLIB)/crc32.c \ 175199767f8SToomas Soome libstand_zutil.h libstand_gzguts.h 176*ff5d4039SToomas SoomeOBJECTS += adler32.o crc32.o 177199767f8SToomas Soome 178172f4465SToomas Soome_infback.c: $(ZLIB)/infback.c 179199767f8SToomas Soome sed -e "s|zutil\.h|libstand_zutil.h|" \ 180199767f8SToomas Soome -e "s|gzguts\.h|libstand_gzguts.h|" \ 181199767f8SToomas Soome $^ > $@ 182172f4465SToomas Soome_inffast.c: $(ZLIB)/inffast.c 183199767f8SToomas Soome sed -e "s|zutil\.h|libstand_zutil.h|" \ 184199767f8SToomas Soome -e "s|gzguts\.h|libstand_gzguts.h|" \ 185199767f8SToomas Soome $^ > $@ 186172f4465SToomas Soome_inflate.c: $(ZLIB)/inflate.c 187199767f8SToomas Soome sed -e "s|zutil\.h|libstand_zutil.h|" \ 188199767f8SToomas Soome -e "s|gzguts\.h|libstand_gzguts.h|" \ 189199767f8SToomas Soome $^ > $@ 190172f4465SToomas Soome_inftrees.c: $(ZLIB)/inftrees.c 191199767f8SToomas Soome sed -e "s|zutil\.h|libstand_zutil.h|" \ 192199767f8SToomas Soome -e "s|gzguts\.h|libstand_gzguts.h|" \ 193199767f8SToomas Soome $^ > $@ 194172f4465SToomas Soome_zutil.c: $(ZLIB)/zutil.c 195199767f8SToomas Soome sed -e "s|zutil\.h|libstand_zutil.h|" \ 196199767f8SToomas Soome -e "s|gzguts\.h|libstand_gzguts.h|" \ 197199767f8SToomas Soome $^ > $@ 198199767f8SToomas Soome 199199767f8SToomas SoomeSRCS += _infback.c _inffast.c _inflate.c _inftrees.c _zutil.c 200*ff5d4039SToomas SoomeOBJECTS += _infback.o _inffast.o _inflate.o _inftrees.o _zutil.o 201*ff5d4039SToomas SoomeCLEANFILES += _infback.c _inffast.c _inflate.c _inftrees.c _zutil.c 202199767f8SToomas Soome 203199767f8SToomas Soome# depend on stand.h being able to be included multiple times 204172f4465SToomas Soomelibstand_zutil.h: $(ZLIB)/zutil.h 205199767f8SToomas Soome sed -e 's|<fcntl.h>|"stand.h"|' \ 206199767f8SToomas Soome -e 's|<stddef.h>|"stand.h"|' \ 207199767f8SToomas Soome -e 's|<string.h>|"stand.h"|' \ 208199767f8SToomas Soome -e 's|<stdio.h>|"stand.h"|' \ 209199767f8SToomas Soome -e 's|<stdlib.h>|"stand.h"|' \ 210199767f8SToomas Soome $^ > $@ 211199767f8SToomas Soome 212172f4465SToomas Soomelibstand_gzguts.h: $(ZLIB)/gzguts.h 213199767f8SToomas Soome sed -e 's|<fcntl.h>|"stand.h"|' \ 214199767f8SToomas Soome -e 's|<stddef.h>|"stand.h"|' \ 215199767f8SToomas Soome -e 's|<string.h>|"stand.h"|' \ 216199767f8SToomas Soome -e 's|<stdio.h>|"stand.h"|' \ 217199767f8SToomas Soome -e 's|<stdlib.h>|"stand.h"|' \ 218199767f8SToomas Soome $^ > $@ 219199767f8SToomas Soome 220199767f8SToomas SoomeCLEANFILES += libstand_zutil.h libstand_gzguts.h 221199767f8SToomas Soome 22210ae99eeSToomas Soome# lz4 decompression functionality 223*ff5d4039SToomas Soomepics/lz4.o := CPPFLAGS += -I$(LZ4) 224*ff5d4039SToomas Soomeobjs/lz4.o := CPPFLAGS += -I$(LZ4) 22510ae99eeSToomas SoomeSRCS += $(LZ4)/lz4.c 226*ff5d4039SToomas SoomeOBJECTS += lz4.o 22710ae99eeSToomas Soome 228199767f8SToomas Soome# io routines 22986fec011SToomas SoomeSRCS += $(SASRC)/closeall.c $(SASRC)/dev.c \ 23086fec011SToomas Soome $(SASRC)/ioctl.c $(SASRC)/nullfs.c \ 23186fec011SToomas Soome $(SASRC)/stat.c $(SASRC)/fstat.c $(SASRC)/close.c \ 23286fec011SToomas Soome $(SASRC)/lseek.c $(SASRC)/open.c $(SASRC)/read.c \ 23386fec011SToomas Soome $(SASRC)/write.c $(SASRC)/readdir.c 234199767f8SToomas Soome 235*ff5d4039SToomas SoomeOBJECTS += closeall.o dev.o ioctl.o nullfs.o stat.o fstat.o close.o lseek.o \ 236199767f8SToomas Soome open.o read.o write.o readdir.o 237199767f8SToomas Soome 238199767f8SToomas Soome# network routines 23986fec011SToomas SoomeSRCS += $(SASRC)/arp.c $(SASRC)/ether.c $(SASRC)/ip.c \ 24086fec011SToomas Soome $(SASRC)/inet_ntoa.c $(SASRC)/in_cksum.c \ 24186fec011SToomas Soome $(SASRC)/net.c $(SASRC)/udp.c $(SASRC)/netif.c \ 24286fec011SToomas Soome $(SASRC)/rpc.c 243*ff5d4039SToomas SoomeOBJECTS += arp.o ether.o ip.o inet_ntoa.o in_cksum.o net.o udp.o netif.o rpc.o 244199767f8SToomas Soome 245199767f8SToomas Soome# network info services: 24686fec011SToomas SoomeSRCS += $(SASRC)/bootp.c $(SASRC)/rarp.c \ 24786fec011SToomas Soome $(SASRC)/bootparam.c 248*ff5d4039SToomas SoomeOBJECTS += bootp.o rarp.o bootparam.o 249199767f8SToomas Soome 250199767f8SToomas Soome# boot filesystems 25186fec011SToomas SoomeSRCS += $(SASRC)/ufs.c 25286fec011SToomas SoomeSRCS += $(SASRC)/nfs.c 25386fec011SToomas SoomeSRCS += $(SASRC)/cd9660.c 25486fec011SToomas SoomeSRCS += $(SASRC)/tftp.c 25586fec011SToomas SoomeSRCS += $(SASRC)/gzipfs.c 25686fec011SToomas SoomeSRCS += $(SASRC)/bzipfs.c 25786fec011SToomas SoomeSRCS += $(SASRC)/dosfs.c 258*ff5d4039SToomas SoomeOBJECTS += ufs.o 259*ff5d4039SToomas SoomeOBJECTS += nfs.o 260*ff5d4039SToomas SoomeOBJECTS += cd9660.o 261*ff5d4039SToomas SoomeOBJECTS += tftp.o 262*ff5d4039SToomas SoomeOBJECTS += gzipfs.o 263*ff5d4039SToomas SoomeOBJECTS += bzipfs.o 264*ff5d4039SToomas SoomeOBJECTS += dosfs.o 265*ff5d4039SToomas Soome 266*ff5d4039SToomas Soome# utility 267*ff5d4039SToomas SoomeSRCS += (SRC)/common/util/explicit_bzero.c 268*ff5d4039SToomas SoomeSRCS += (SRC)/common/util/memmem.c 269*ff5d4039SToomas SoomeOBJECTS += explicit_bzero.o 270*ff5d4039SToomas SoomeOBJECTS += memmem.o 271