xref: /netbsd-src/sys/arch/i386/stand/dosboot/Makefile (revision 2c1bb85b338e61856a79472d71448979346ae44d)
1#	$NetBSD: Makefile,v 1.39 2024/09/11 20:15:36 andvar Exp $
2
3S=	${.CURDIR}/../../../..
4
5BASE= dosboot
6PROG= ${BASE}.com
7NEWVERSWHAT=	"DOS Boot"
8STARTFILE=	start_dos.o doscommain.o
9RELOC=		0x100
10
11SRCS=	main.c devopen.c exec.c
12SRCS+=	dosfile.c dos_file.S
13SRCS+=	exec_multiboot1.c exec_multiboot2.c
14
15#CPPFLAGS+= -DSLOW	# for libz; no longer available
16CPPFLAGS+= -DCOMPAT_386BSD_MBRPART
17CPPFLAGS+= -DLIBSA_ENABLE_LS_OP
18CPPFLAGS+= -DNO_MULTIBOOT2 # keep the binary small
19#uncomment if there are problems with memory detection
20#CPPFLAGS+= -DCONSERVATIVE_MEMDETECT
21
22#CFLAGS= -O2 -fomit-frame-pointer -fno-defer-pop
23CFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-main
24
25.PATH: ${.CURDIR}/../libsa
26
27# XXX these should depend on the size of the image
28CPPFLAGS+= -DSTACK_START=0x10000
29SAMISCCPPFLAGS+= -DHEAP_START=0x20000 -DHEAP_LIMIT=0x50000
30SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_INCLUDE_NET=no SA_ENABLE_LS_OP=yes
31
32# DOS command line arguments are located at 0x0000.
33COPTS.doscommain.c+= -fno-delete-null-pointer-checks
34
35# Do not page-align data segment.
36LDFLAGS+= -Wl,-N
37
38VERSIONFILE= ${.CURDIR}/version
39
40.include <bsd.init.mk>
41
42release: check_RELEASEDIR
43	${HOST_INSTALL_FILE} -m ${BINMODE} dosboot.com \
44	    ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/misc
45
46.include "../Makefile.booters"
47