]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/boot/mips/beri/boot2/Makefile
MFC Loader Fixes 2017q1: r311458,r312237,r312314,r312374,r312947,r313042,
[FreeBSD/FreeBSD.git] / sys / boot / mips / beri / boot2 / Makefile
1 #-
2 # Copyright (c) 2013-2014 Robert N. M. Watson
3 # All rights reserved.
4 #
5 # This software was developed by SRI International and the University of
6 # Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
7 # ("CTSRD"), as part of the DARPA CRASH research programme.
8 #
9 # Redistribution and use in source and binary forms, with or without
10 # modification, are permitted provided that the following conditions
11 # are met:
12 # 1. Redistributions of source code must retain the above copyright
13 #    notice, this list of conditions and the following disclaimer.
14 # 2. Redistributions in binary form must reproduce the above copyright
15 #    notice, this list of conditions and the following disclaimer in the
16 #    documentation and/or other materials provided with the distribution.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 # SUCH DAMAGE.
29 #
30 # $FreeBSD$
31
32 BINDIR?=        /boot
33 INSTALLFLAGS=   -b
34
35 LOADERS=        flashboot jtagboot
36 FILES=          ${LOADERS} ${LOADERS:S/$/.md5/}
37
38 SRCS=           relocate.S              \
39                 start.S                 \
40                 boot2.c                 \
41                 altera_jtag_uart.c      \
42                 cfi.c                   \
43                 sdcard.c
44
45 MAN=
46
47 AFLAGS=         -G0
48
49 CFLAGS=         -ffreestanding                  \
50                 -I${.CURDIR}                    \
51                 -I${.CURDIR}/../../../common    \
52                 -I${.CURDIR}/../../../..        \
53                 -D_KERNEL                       \
54                 -Wall                           \
55                 -G0                             \
56                 -fno-pic -mno-abicalls          \
57                 -msoft-float                    \
58                 -g
59
60 # where to get libstand from
61 CFLAGS+=        -I${.CURDIR}/../../../../../lib/libstand/
62 LIBSTAND=       ${.OBJDIR}/../../../../../lib/libstand/libstand.a
63
64 LDFLAGS=        -nostdlib                       \
65                 -static                         \
66                 -N                              \
67                 -G0                             \
68                 -L${.CURDIR}
69
70 .PATH:          ${.CURDIR}/../common
71 CFLAGS+=        -I${.CURDIR}/../common
72
73 flashboot.elf: relocate.o start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o
74         ${CC} ${LDFLAGS} -T ${.CURDIR}/flashboot.ldscript -o ${.TARGET} \
75             ${.ALLSRC} ${LIBSTAND}
76 flashboot: flashboot.elf
77         ${OBJCOPY} -S -O binary ${.TARGET}.elf ${.TARGET}
78 flashboot.md5: flashboot
79         md5 flashboot > flashboot.md5
80
81 jtagboot: start.o boot2.o altera_jtag_uart.o cfi.o sdcard.o
82         ${CC} ${LDFLAGS} -T ${.CURDIR}/jtagboot.ldscript -o ${.TARGET}  \
83             ${.ALLSRC} ${LIBSTAND}
84 jtagboot.md5: jtagboot
85         md5 jtagboot > jtagboot.md5
86
87 CLEANFILES+=    flashboot.elf
88
89 .include <bsd.prog.mk>