1# $OpenBSD: Makefile,v 1.40 2024/06/30 18:17:09 deraadt Exp $ 2 3MAN= cdboot.8 4 5.if ${MACHINE} == "i386" 6S= ${.CURDIR}/../../../.. 7SADIR= ${.CURDIR}/.. 8 9PROG= cdboot 10SRCS= srt0.S boot.c conf.c 11LD?= ld 12SIZE?= size 13LDFLAGS+=-nostdlib -Bstatic -Ttext $(LINKADDR) -N -x -nopie -znorelro 14INSTALL_STRIP= 15BINMODE=644 16 17CLEANFILES+= crt0.o ${PROG}.whole 18 19.PATH: ${SADIR}/libsa 20SRCS+= debug_i386.S gidt.S pslid.S mdrandom.c 21SRCS+= cmd_i386.c dev_i386.c exec_i386.c gateA20.c machdep.c 22SRCS+= apmprobe.c bioscons.c biosdev.c debug.c diskprobe.c memprobe.c \ 23 pciprobe.c ps2probe.c time.c 24SRCS+= softraid_i386.c 25 26.PATH: ${S}/stand/boot 27SRCS+= bootarg.c cmd.c vars.c 28 29.PATH: ${S}/lib/libsa 30SRCS+= alloc.c ctime.c exit.c getchar.c hexdump.c \ 31 memcmp.c memcpy.c memmove.c memset.c printf.c \ 32 putchar.c snprintf.c strcmp.c strerror.c strlen.c strncmp.c strncpy.c \ 33 strtol.c strtoll.c 34SRCS+= close.c closeall.c cons.c cread.c dev.c disklabel.c dkcksum.c fchmod.c \ 35 fstat.c lseek.c open.c read.c readdir.c stat.c 36SRCS+= elf32.c elf64.c loadfile.c arc4.c 37SRCS+= cd9660.c ufs.c ufs2.c 38SRCS+= aes_xts.c bcrypt_pbkdf.c blowfish.c explicit_bzero.c hmac_sha1.c \ 39 pkcs5_pbkdf2.c rijndael.c sha1.c sha2.c softraid.c 40 41.PATH: ${S}/lib/libkern/arch/i386 42SRCS+= ashldi3.c ashrdi3.c divdi3.c lshrdi3.c moddi3.c qdivrem.c 43 44.PATH: ${S}/lib/libkern 45SRCS+= strlcpy.c 46 47.PATH: ${S}/lib/libz 48SRCS+= adler32.c crc32.c inflate.c inftrees.c 49 50srt0.o gidt.o: assym.h 51 52${PROG}: $(OBJS) 53 $(LD) $(LDFLAGS) -o ${PROG} $(OBJS) 54 @$(SIZE) ${PROG} 55 cp ${PROG} ${PROG}.whole 56 @if [ -x ${.OBJDIR}/${PROG} ]; then \ 57 objcopy -O binary ${PROG} ${.OBJDIR}/.tmp;\ 58 mv -f ${.OBJDIR}/.tmp ${.OBJDIR}/${PROG}; \ 59 ls -l ${.OBJDIR}/${PROG}; \ 60 fi 61 62.else 63NOPROG= 64.endif 65 66.include <bsd.prog.mk> 67 68CPPFLAGS+=-DSOFTRAID 69CPPFLAGS+=-DBOOTMAGIC=$(BOOTMAGIC) ${DEBUGFLAGS} 70CPPFLAGS+=-DLINKADDR=${LINKADDR} 71CPPFLAGS+=-DSLOW -DSMALL -DNO_GZIP -DDYNAMIC_CRC_TABLE -DBUILDFIXED 72CPPFLAGS+=-I${S}/stand/boot 73CFLAGS+=${SACFLAGS} -D__INTERNAL_LIBSA_CREAD 74CFLAGS+=-DOSREV=\"${OSREV}\" -DMACHINE=\"${MACHINE}\" 75CFLAGS+=-DKERNEL=\"/${OSREV}/${MACHINE}/bsd.rd\" 76CFLAGS+=-fno-pie 77AFLAGS+=${NO_INTEGR_AS} 78#AFLAGS+=-Wa,-R 79# AFLAGS+=-Wa,-a 80AFLAGS+=-fno-pie 81