1#         $NetBSD: Makefile,v 1.19 2024/02/09 16:12:02 christos Exp $
2
3S=                  ${.CURDIR}/../../../..
4
5PROG=               altboot
6FILES+=             ${PROG}.bin ${PROG}.img
7NOMAN=              # defined
8SRCS=               entry.S main.c brdsetup.c pci.c devopen.c dev_net.c memfs.c
9SRCS+=              nif.c fxp.c tlp.c rge.c skg.c stg.c
10SRCS+=              dsk.c pciide.c siisata.c
11SRCS+=              exception.c
12CLEANFILES+=        ${PROG} ${PROG}.bin ${PROG}.img
13CFLAGS+=  -Wall -Wno-main -ffreestanding
14CFLAGS+=  ${${ACTIVE_CC} == "gcc":? -msoft-float :}
15CFLAGS+=  -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
16CPPFLAGS+=          -D_STANDALONE -DSUPPORT_DHCP -DLIBSA_PRINTF_WIDTH_SUPPORT
17#CPPFLAGS+=         -DCONSNAME=\"com\" -DCONSPORT=0x3f8 -DCONSSPEED=115200
18#CPPFLAGS+=         -DCONSNAME=\"eumb\" -DCONSPORT=0x4600 -DCONSSPEED=57600
19CPPFLAGS+=          -nostdinc -I. -I${.OBJDIR} -I${S}
20DBG=                -Os
21
22.include <bsd.own.mk>
23.include <bsd.klinks.mk>
24
25# XXX SHOULD NOT NEED TO DEFINE THESE!
26LIBCRT0=
27LIBCRTI=
28LIBC=
29LIBCRTBEGIN=
30LIBCRTEND=
31
32STRIPFLAG=
33BINMODE=  444
34
35RELOC=              1000000
36ENTRY=              _start
37
38### find out what to use for libkern
39KERN_AS=  library
40.include "${S}/lib/libkern/Makefile.inc"
41LIBKERN=  ${KERNLIB}
42
43### find out what to use for libz
44Z_AS=               library
45.include "${S}/lib/libz/Makefile.inc"
46LIBZ=               ${ZLIB}
47
48### find out what to use for libsa
49SA_AS=              library
50SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
51.include "${S}/lib/libsa/Makefile.inc"
52LIBSA=              ${SALIB}
53
54cleandir distclean: .WAIT cleanlibdir
55
56cleanlibdir:
57          -rm -rf lib
58
59.if ${MKREPRO_TIMESTAMP:Uno} != "no"
60MKUBOOTIMAGE_TIMESTAMP=-t "${MKREPRO_TIMESTAMP}"
61.endif
62
63${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
64          ${_MKTARGET_LINK}
65          ${LD} -N -Ttext ${RELOC} -Bstatic -e ${ENTRY} -o ${PROG} \
66              ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
67          ${OBJCOPY} -S -O binary ${PROG} ${PROG}.bin
68          ${TOOL_MKUBOOTIMAGE} -A powerpc -T kernel -C none -O linux \
69              -a 0x${RELOC} ${MKUBOOTIMAGE_TIMESTAMP} -n ${PROG} \
70              ${PROG}.bin ${PROG}.img
71
72
73VERSIONFLAGS+=-k
74.include "${S}/conf/newvers_stand.mk"
75
76.include <bsd.prog.mk>
77