blob: fe1068faefaa45806c66f66904497b68eef67c1e [file] [log] [blame]
Toomas Soome199767f2015-10-25 00:06:51 +03001# $FreeBSD$
2
3.include <src.opts.mk>
4
5# We get a lot of the std lib functions from here.
6.PATH: ${.CURDIR}/../../at91/libat91
7
8# Enable to get debug msgs
9#DEBUG=yes
10
11# Hack to search through the kernel for ufs:ad0s1a and replace it with
12# the correct one for the active slice/partition.
13FIXUP_BOOT_DRV=yes
14
15P=boot2
16FILES=${P}
17SRCS=arm_init.S boot2.c ${BOOT_FLAVOR:tl}_board.c
18SRCS+=memchr.c memcmp.c memcpy.c memmem.c memset.c printf.c strcmp.c strcpy.c
19SRCS+=strlen.c ashldi3.c divsi3.S muldi3.c
20SRCS+=aeabi_unwind.c
21MAN=
22
23KERNPHYSADDR=0x180000
24KERNVIRTADDR=${KERNPHYSADDR}
25BOOT_STACK=0x200000-4
26M=${MACHINE}
27LDFLAGS=-e ${KERNPHYSADDR} -EB -T ldscript.${M}
28OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
29S=${.CURDIR}/../../../..
30
31CFLAGS+= \
32 -DBOOT_STACK=${BOOT_STACK} \
33 -I${.CURDIR}/../../../common \
34 -I${.CURDIR}
35
36.if defined(FIXUP_BOOT_DRV)
37CFLAGS+=-DFIXUP_BOOT_DRV
38.endif
39.if defined(DEBUG)
40CFLAGS+=-DDEBUG
41.endif
42
43ldscript.$M: $S/conf/ldscript.$M
44 cat $S/conf/ldscript.$M|sed s/KERNPHYSADDR/${KERNPHYSADDR}/g| \
45 sed s/KERNVIRTADDR/${KERNVIRTADDR}/g | \
46 sed s/" + SIZEOF_HEADERS"// > ldscript.$M
47
48${P}: ldscript.$M
49
50CLEANFILES+=ldscript.$M
51
52memchr.c: $S/../lib/libc/string/memchr.c
53 sed -e 's/string\.h/lib.h/' < $S/../lib/libc/string/memchr.c > \
54 ${.TARGET}
55
56memmem.c: $S/../lib/libc/string/memmem.c
57 sed -e 's/string\.h/lib.h/' < $S/../lib/libc/string/memmem.c > \
58 ${.TARGET}
59
60CLEANFILES+=memchr.c memmem.c
61
62ashldi3.o: $S/libkern/ashldi3.c
63 ${CC} -c ${CFLAGS} -D_KERNEL -o ${.TARGET} ${.IMPSRC}
64
65divsi3.o: $S/libkern/${M}/divsi3.S
66 ${CC} -c ${CFLAGS} -D_KERNEL -o ${.TARGET} ${.IMPSRC}
67
68muldi3.o: $S/libkern/${M}/muldi3.c
69 ${CC} -c ${CFLAGS} -D_KERNEL -o ${.TARGET} ${.IMPSRC}
70
71inflate.c: $S/kern/inflate.c
72 sed -e 's/extern void putstr (char/extern void putstr (const char/' < \
73 $S/kern/inflate.c > ${.TARGET}
74
75CLEANFILES+=inflate.c
76
77.include <bsd.prog.mk>
78