Makefile revision 1.8 1 # $NetBSD: Makefile,v 1.8 2001/09/08 16:57:09 thomas Exp $
2
3 # for OBJECT_FMT
4 .include <bsd.own.mk>
5
6 PROG= bootxx
7 SRCS= bootxx.c bsdstart.s filesystem.c
8 MKMAN= no
9
10 STRIPFLAG=
11 BINDIR= /usr/mdec
12 BINMODE=${NONBINMODE}
13
14 LIBCRT0=
15
16 DEFS= -D_STANDALONE
17 INCL= -I. -I${S_LIBTOS} -I${S_MACHSA} -I${S_KERN} -I${S_SA} -I${S}
18
19 CPPFLAGS+= ${DEFS} ${INCL}
20 CFLAGS+= -fomit-frame-pointer -Wall -fno-function-cse -fstrength-reduce
21 .if ${OBJECT_FMT} == "ELF"
22 LDFLAGS= -static -nostdlib -Wl,-x,-N,-e,bootxx,-Ttext,${LOADADDR}
23 .else
24 LDFLAGS= -static -nostdlib -Wl,-N,-Ttext,${LOADADDR}
25 .endif
26
27 # logically src/sys
28 S=${.CURDIR}/../../../..
29 S_SA=${S}/lib/libsa
30 S_KERN=${S}/lib/libkern
31 S_MACHSA=${S}/arch/atari/stand/libsa
32 S_LIBTOS=${S}/arch/atari/stand/tostools/libtos
33
34 .if exists(${S_MACHSA}/libsa.a)
35 LIBSA=${S_MACHSA}/libsa.a
36 .else
37 . if exists(${S_MACHSA}/obj/libsa.a)
38 LIBSA=${S_MACHSA}/obj/libsa.a
39 . else
40 LIBSA=${S_MACHSA}/obj.${MACHINE}/libsa.a
41 . endif
42 .endif
43
44 DPADD= ${LIBSA}
45 LDADD= ${LIBSA}
46
47 beforeinstall:
48 @len=`size ${PROG} | awk 'NR==2 { print $$1+$$2 }'`; \
49 if [ $$len -gt 6656 ]; then \
50 size ${PROG}; \
51 false; \
52 fi; \
53 objcopy -O binary ${PROG} ${PROG}XX
54 @cat ${PROG}XX /dev/zero | dd of=${PROG}X \
55 bs=1 count=6656 2>/dev/null
56 @mv -f ${PROG} ${PROG}XX
57 @mv -f ${PROG}X ${PROG};
58
59 afterinstall:
60 @mv -f ${PROG}XX ${PROG}
61
62 .s.o:
63 ${CPP} ${CPPFLAGS} ${.IMPSRC} | ${AS} ${ASFLAGS} -o ${.TARGET}
64
65 .c.o:
66 ${CC} ${CFLAGS} ${CPPFLAGS} -c ${.IMPSRC} -o ${.TARGET}
67
68 ${PROG}:
69 ${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
70
71 ${PROG}: ../xxboot/LOADADDR
72
73 .PATH: ${S_LIBTOS}
74
75 .include "../xxboot/LOADADDR"
76 .include <bsd.prog.mk>
77