xref: /openbsd/sys/arch/i386/stand/cdboot/Makefile (revision a9e16124)
1*a9e16124Sderaadt#	$OpenBSD: Makefile,v 1.40 2024/06/30 18:17:09 deraadt Exp $
2285601acStom
3285601acStomMAN=	cdboot.8
4285601acStom
5285601acStom.if ${MACHINE} == "i386"
6285601acStomS=	${.CURDIR}/../../../..
7285601acStomSADIR=	${.CURDIR}/..
8285601acStom
9879e6e33SpascalPROG=	cdboot
1031d5dce9SjsingSRCS=	srt0.S boot.c conf.c
11879e6e33SpascalLD?=	ld
12879e6e33SpascalSIZE?=	size
135a5a41c0SguentherLDFLAGS+=-nostdlib -Bstatic -Ttext $(LINKADDR) -N -x -nopie -znorelro
14879e6e33SpascalINSTALL_STRIP=
1587e9071aSderaadtBINMODE=644
16879e6e33Spascal
17879e6e33SpascalCLEANFILES+=	crt0.o ${PROG}.whole
18879e6e33Spascal
1931d5dce9Sjsing.PATH:	${SADIR}/libsa
2055f8664cSderaadtSRCS+=	debug_i386.S gidt.S pslid.S mdrandom.c
2131d5dce9SjsingSRCS+=	cmd_i386.c dev_i386.c exec_i386.c gateA20.c machdep.c
2231d5dce9SjsingSRCS+=	apmprobe.c bioscons.c biosdev.c debug.c diskprobe.c memprobe.c \
2331d5dce9Sjsing	pciprobe.c ps2probe.c time.c
2465f4a3c7SjsingSRCS+=	softraid_i386.c
25285601acStom
26285601acStom.PATH:	${S}/stand/boot
2731d5dce9SjsingSRCS+=	bootarg.c cmd.c vars.c
2831d5dce9Sjsing
2931d5dce9Sjsing.PATH:	${S}/lib/libsa
303fbdbb31SbluhmSRCS+=	alloc.c ctime.c exit.c getchar.c hexdump.c \
313fbdbb31Sbluhm	memcmp.c memcpy.c memmove.c memset.c printf.c \
323052da24Sjasper	putchar.c snprintf.c strcmp.c strerror.c strlen.c strncmp.c strncpy.c \
333052da24Sjasper	strtol.c strtoll.c
34044dcf88SderaadtSRCS+=	close.c closeall.c cons.c cread.c dev.c disklabel.c dkcksum.c fchmod.c \
35044dcf88Sderaadt	fstat.c lseek.c open.c read.c readdir.c stat.c
36f65494e6SderaadtSRCS+=	elf32.c elf64.c loadfile.c arc4.c
3708fe3245SottoSRCS+=	cd9660.c ufs.c ufs2.c
38df1890a2SjsingSRCS+=	aes_xts.c bcrypt_pbkdf.c blowfish.c explicit_bzero.c hmac_sha1.c \
39df1890a2Sjsing	pkcs5_pbkdf2.c rijndael.c sha1.c sha2.c softraid.c
4031d5dce9Sjsing
4131d5dce9Sjsing.PATH:	${S}/lib/libkern/arch/i386
4284e8f3e5SderaadtSRCS+=	ashldi3.c ashrdi3.c divdi3.c lshrdi3.c moddi3.c qdivrem.c
4331d5dce9Sjsing
4431d5dce9Sjsing.PATH:	${S}/lib/libkern
4531d5dce9SjsingSRCS+=	strlcpy.c
4631d5dce9Sjsing
4731d5dce9Sjsing.PATH:	${S}/lib/libz
4831d5dce9SjsingSRCS+=	adler32.c crc32.c inflate.c inftrees.c
49285601acStom
50d96a07ceSnaddysrt0.o gidt.o: assym.h
519be81ba4Sjsing
52e91e94ffSjsing${PROG}: $(OBJS)
53e91e94ffSjsing	$(LD) $(LDFLAGS) -o ${PROG} $(OBJS)
54285601acStom	@$(SIZE) ${PROG}
559e73637bSderaadt	cp ${PROG} ${PROG}.whole
56879e6e33Spascal	@if [ -x ${.OBJDIR}/${PROG} ]; then \
57285601acStom		objcopy -O binary ${PROG} ${.OBJDIR}/.tmp;\
58285601acStom		mv -f ${.OBJDIR}/.tmp ${.OBJDIR}/${PROG}; \
59285601acStom		ls -l ${.OBJDIR}/${PROG}; \
60285601acStom	fi
61285601acStom
62285601acStom.else
63285601acStomNOPROG=
64285601acStom.endif
65285601acStom
66285601acStom.include <bsd.prog.mk>
67285601acStom
68b5cd2618SjsingCPPFLAGS+=-DSOFTRAID
69285601acStomCPPFLAGS+=-DBOOTMAGIC=$(BOOTMAGIC) ${DEBUGFLAGS}
70285601acStomCPPFLAGS+=-DLINKADDR=${LINKADDR}
71*a9e16124SderaadtCPPFLAGS+=-DSLOW -DSMALL -DNO_GZIP -DDYNAMIC_CRC_TABLE -DBUILDFIXED
7231d5dce9SjsingCPPFLAGS+=-I${S}/stand/boot
73285601acStomCFLAGS+=${SACFLAGS} -D__INTERNAL_LIBSA_CREAD
747ff9b452StomCFLAGS+=-DOSREV=\"${OSREV}\" -DMACHINE=\"${MACHINE}\"
75038d14aaSderaadtCFLAGS+=-DKERNEL=\"/${OSREV}/${MACHINE}/bsd.rd\"
761e5c3be9SpascalCFLAGS+=-fno-pie
7704a35283SnaddyAFLAGS+=${NO_INTEGR_AS}
78285601acStom#AFLAGS+=-Wa,-R
79285601acStom# AFLAGS+=-Wa,-a
801e5c3be9SpascalAFLAGS+=-fno-pie
81