1# $OpenBSD: Makefile,v 1.39 2017/10/17 19:31:56 naddy Exp $ 2 3COPTS?= 4MAN?= boot.8 5 6.if !empty(COPTS:M-DFDBOOT) 7SOFTRAID?=no 8.else 9SOFTRAID?=yes 10.endif 11 12.if ${MACHINE} == "amd64" 13S= ${.CURDIR}/../../../.. 14SADIR= ${.CURDIR}/.. 15 16PROG?= boot 17SRCS= srt0.S conf.c 18LD?= ld 19SIZE?= size 20LDFLAGS+=-nostdlib -Bstatic -Ttext $(LINKADDR) -N -x -nopie -znorelro 21LDFLAGS+=-melf_i386 -L/usr/libdata 22 23.PATH: ${S}/stand/boot 24SRCS+= boot.c bootarg.c cmd.c vars.c 25 26.PATH: ${SADIR}/libsa 27SRCS+= gidt.S random_i386.S 28SRCS+= cmd_i386.c dev_i386.c exec_i386.c gateA20.c machdep.c 29SRCS+= bioscons.c biosdev.c diskprobe.c memprobe.c time.c 30.if ${SOFTRAID:L} == "yes" 31SRCS+= softraid_amd64.c 32.endif 33 34.PATH: ${S}/lib/libsa 35SRCS+= alloc.c ctime.c exit.c getchar.c memcmp.c memcpy.c memset.c printf.c \ 36 putchar.c snprintf.c strcmp.c strerror.c strlen.c strncmp.c strncpy.c \ 37 strtol.c strtoll.c 38SRCS+= close.c closeall.c cons.c cread.c dev.c disklabel.c dkcksum.c fstat.c \ 39 lseek.c open.c read.c readdir.c stat.c 40SRCS+= elf32.c elf64.c loadfile.c 41SRCS+= ufs.c 42.if ${SOFTRAID:L} == "yes" 43SRCS+= aes_xts.c bcrypt_pbkdf.c blowfish.c explicit_bzero.c hmac_sha1.c \ 44 pkcs5_pbkdf2.c rijndael.c sha1.c sha2.c softraid.c 45.endif 46 47.PATH: ${S}/lib/libkern 48SRCS+= divdi3.c moddi3.c qdivrem.c 49SRCS+= strlcpy.c 50 51.PATH: ${S}/lib/libz 52SRCS+= adler32.c crc32.c inflate.c inftrees.c 53 54boot.bin: boot 55 objcopy -v -O binary ${PROG} boot.bin 56 57CLEANFILES+= ${PROG}.new 58 59srt0.o gidt.o: assym.h 60 61${PROG}: $(OBJS) 62 $(LD) $(LDFLAGS) -o ${PROG}.new $(OBJS) 63 @perl ${SADIR}/boot/check-boot.pl ${PROG}.new 64 @mv ${PROG}.new ${PROG} 65 @$(SIZE) ${PROG} 66 67.else 68NOPROG= 69.endif 70 71.include <bsd.prog.mk> 72 73.if ${SOFTRAID:L} == "yes" 74CPPFLAGS+=-DSOFTRAID 75.endif 76CPPFLAGS+=-DBOOTMAGIC=$(BOOTMAGIC) ${DEBUGFLAGS} -DLINKADDR=${LINKADDR} 77CPPFLAGS+=-DSLOW -DSMALL -DNOBYFOUR -DNO_GZIP -DDYNAMIC_CRC_TABLE 78CPPFLAGS+=-DHIBERNATE 79CPPFLAGS+=-DHEAP_LIMIT=${HEAP_LIMIT} -I${S}/stand/boot #-DCOMPAT_UFS 80CFLAGS+=-m32 $(SACFLAGS) -D__INTERNAL_LIBSA_CREAD -fno-pie 81AFLAGS+=${NO_INTEGR_AS} 82AFLAGS+=-m32 # -Wa,-R 83# AFLAGS+=-Wa,-a 84AFLAGS+=-fno-pie 85