Makefile.buildboot revision 1.7 1 # $NetBSD: Makefile.buildboot,v 1.7 2023/08/03 08:16:31 mrg Exp $
2
3 NOPIE=yes
4 NOSSP=yes
5 NODEBUG=yes
6 RELOC= 120000
7 HEAP_LIMIT=0x1c0000
8 #DEBUGFLAGS=-DDEBUG
9 #DEBUGFLAGS+=-DDEBUGBUG
10 #DEBUGFLAGS+=-DPDCDEBUG
11 #DEBUGFLAGS+=-DLIFDEBUG
12 #DEBUGFLAGS+=-DEXEC_DEBUG
13 #DEBUGFLAGS+=-DALLOC_TRACE
14 #DEBUGLIBS= no
15
16 LIBCRT0= # nothing
17 LIBCRTI= # nothing
18 LIBCRTBEGIN= # nothing
19 LIBCRTEND= # nothing
20 LIBC= # nothing
21
22 S= ${.CURDIR}/../../../..
23
24 .PATH: ${.CURDIR}/../common
25
26 SRCS= ${PROGSOURCE} ${COMMONSOURCE} ${DRIVERSOURCE}
27 NOMAN=
28 STRIPFLAG=
29 BINMODE= 444
30
31 .include <bsd.own.mk>
32
33 CPPFLAGS+= -nostdinc -I${.CURDIR}/../../.. -I${.CURDIR}/../../../.. \
34 -I${.OBJDIR}
35 CFLAGS+= -Os -fno-delete-null-pointer-checks -msoft-float -Wno-main
36 CFLAGS+= -fno-builtin
37 CFLAGS+= -mdisable-fpregs -mfast-indirect-calls -mpa-risc-1-0
38
39 .include "${S}/conf/newvers_stand.mk"
40
41 CPPFLAGS+= -D_STANDALONE -Dhppa ${DEBUGFLAGS}
42 CPPFLAGS+= -DRELOC=0x${RELOC} -DHEAP_LIMIT=${HEAP_LIMIT}
43 CPPFLAGS+= -DNO_NET
44
45 COMMONSOURCE= cons.c dev_hppa.c dk.c itecons.c \
46 machdep.c milli_tiny.S pdc.c time.c
47 DRIVERSOURCE=
48
49 ### find out what to use for libkern
50 KERN_AS= library
51 .include "${S}/lib/libkern/Makefile.inc"
52 LIBKERN= ${KERNLIB}
53
54 ### find out what to use for libz
55 Z_AS= library
56 .include "${S}/lib/libz/Makefile.inc"
57 LIBZ= ${ZLIB}
58
59 ### find out what to use for libsa
60 SA_AS= library
61 SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
62 .include "${S}/lib/libsa/Makefile.inc"
63 LIBSA= ${SALIB}
64
65 LDFLAGS+= -static -nostdlib -Wl,-N -Wl,-Ttext,$(RELOC)
66 LDFLAGS+= -Wl,-T,${.CURDIR}/ld.script -Wl,-Map,${PROG}.map
67
68 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
69 ${CC} ${LDFLAGS} -o ${PROG} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
70 @${SIZE} ${PROG}
71 @echo ${PROG} total size should not exceed XXXX bytes
72
73 # GCC 12 and newer thinks this is bad (accessing page 0?)
74 COPTS.itecons.c+= -Wno-array-bounds
75
76 .include <bsd.prog.mk>
77 .include <bsd.klinks.mk>
78