1#	$OpenBSD: Makefile,v 1.3 2024/01/28 01:07:26 deraadt Exp $
2#	$NetBSD: Makefile,v 1.17 1997/04/17 07:27:46 thorpej Exp $
3
4MAN?=	boot.8
5MANSUBDIR=alpha
6
7.if ${MACHINE} == "alpha"
8S=	${.CURDIR}/../../../..
9
10PROG=	boot
11INSTALL_STRIP=
12BINMODE= 444
13
14# Needs to be first
15SRCS=	start.S
16
17SRCS+=	conf.c devopen.c disk.c machdep.c prom.c promcons.c \
18	prom_swpal.S rpcc.S
19
20BOOT_RELOC = ${SECONDARY_LOAD_ADDRESS}
21
22CLEANFILES+= ${PROG}.sym ${PROG}.nosym
23
24.PATH: ${.CURDIR}/..
25SRCS+=	OSFpal.c loadfile_subr.c prom_disp.S
26
27.PATH: ${S}/stand/boot
28SRCS+=	boot.c cmd.c vars.c
29
30.PATH:	${S}/lib/libkern/arch/alpha ${S}/lib/libkern
31SRCS+=	__divlu.S __remqu.S __reml.S strlen.c bzero.c __divl.S __divqu.S \
32	__remlu.S __divq.S __remq.S
33SRCS+=	strlcpy.c
34
35.PATH:	${S}/lib/libkern/arch/alpha ${S}/lib/libsa
36SRCS+=	loadfile.c arc4.c ctime.c hexdump.c strtol.c strtoll.c ufs2.c
37
38DEFNS= -DCOMPAT_UFS
39
40AFLAGS += -DASSEMBLER ${DEFNS} -fno-pie
41CPPFLAGS += -I${.CURDIR}/../.. -I${.CURDIR} -I${S} ${DEFNS}
42CFLAGS = -Oz -Werror -mno-fp-regs -fno-pie -msmall-data -msmall-text \
43	-fno-stack-protector
44
45${PROG}.nosym: ${PROG}.sym
46	cp ${PROG}.sym ${PROG}.nosym
47	${STRIP} ${PROG}.nosym
48
49${PROG}: ${PROG}.nosym
50	${OBJCOPY} --output-target=binary ${PROG}.nosym ${PROG}
51
52.include <bsd.prog.mk>
53
54### find out what to use for libz
55Z_AS=		library
56ZDST=		${.CURDIR}/../libz/${__objdir}
57.include "${.CURDIR}/../libz/Makefile.inc"
58LIBZ=		${ZLIB}
59
60### find out what to use for libsa
61SA_AS=		library
62SADST=		${.CURDIR}/../libsa/${__objdir}
63SAREL=
64SA_ZLIB=	yes
65.include "${.CURDIR}/../libsa/Makefile.inc"
66LIBSA=		${SALIB}
67
68${PROG}.sym: ${OBJS} ${LIBSA} ${LIBZ}
69	${LD} -nopie -znorelro -Ttext ${BOOT_RELOC} -N -e start \
70	    -o ${PROG}.sym ${OBJS} ${LIBSA} ${LIBZ} ${LIBSA}
71	size ${PROG}.sym
72
73.else
74NOPROG=
75.include <bsd.prog.mk>
76.endif
77
78