11210875ab36f328044ecd4b7f3f64813021569e
[dragonfly.git] / sys / boot / arc / loader / Makefile
1 #       $NetBSD: Makefile,v 1.12 1998/02/19 14:18:36 drochner Exp $
2 # $FreeBSD: src/sys/boot/arc/loader/Makefile,v 1.4.2.1 2000/08/04 08:31:08 obrien Exp $
3 # $DragonFly: src/sys/boot/arc/loader/Attic/Makefile,v 1.2 2003/06/17 04:28:16 dillon Exp $
4
5 BASE=           loader
6 PROG=           ${BASE}.exe
7 NOMAN=
8 NEWVERSWHAT=    "ARC disk boot" ${MACHINE_ARCH}
9
10 .PATH:          ${.CURDIR}/../common
11
12 # i386-specific bootstrap sources
13 SRCS+=          main.c conf.c
14
15 # Always add MI sources 
16 .PATH:          ${.CURDIR}/../../common
17 .include        <${.CURDIR}/../../common/Makefile.inc>
18 CFLAGS+=        -mno-fp-regs
19 CFLAGS+=        -I${.CURDIR}/../../common -I${.CURDIR}
20 CFLAGS+=        -I${.CURDIR}/../../.. -I.
21 CFLAGS+=        -DLOADER
22
23 CLEANFILES+=    setdef0.c setdef0.o setdef1.c setdef1.o setdefs.h start.o \
24                 vers.c vers.o ${BASE}.exe ${BASE}.sym ${BASE}.list
25 CLEANFILES+=    loader.help
26 CLEANFILES+=    machine
27
28 CFLAGS+=        -Wall
29
30 CFLAGS+=        -I${LIBSTANDDIR}
31 CFLAGS+=        -I${.CURDIR}/../include
32 CRT=            start.o
33 STRIP=
34 BINDIR?=        /boot
35 LOAD_ADDRESS?=  0xffffffff80900000
36
37 all: ${PROG}
38
39 vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
40         sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
41         ${CC} -c vers.c
42
43 ${BASE}.exe: ${BASE}.sym ${BASE}.help
44         elf2exe ${BASE}.sym ${BASE}.exe
45
46 ${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBARC} ${CRT} vers.o setdef0.o setdef1.o
47         ${LD} -o ${BASE}.sym -M -N -Ttext ${LOAD_ADDRESS} \
48         ${CRT} setdef0.o ${OBJS} setdef1.o vers.o -L${DESTDIR}${LIBDIR} \
49         ${LIBSTAND} ${LIBARC} ${LIBSTAND} >${.OBJDIR}/${BASE}.list
50
51 ${BASE}.help: help.common help.alpha
52         cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
53
54 beforeinstall:
55 .if exists(${.OBJDIR}/loader.help)
56         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
57                 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
58 .else
59         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
60                 ${.CURDIR}/${BASE}.help ${DESTDIR}/boot
61 .endif
62
63 # Other fragments still to be brought in from ../Makfile.booters?
64 start.o:        ${.CURDIR}/../lib/arch/${MACHINE_ARCH}/start.S
65         ${CC} -c ${CFLAGS} $<
66
67 setdef0.o: setdefs.h
68
69 setdef1.o: setdefs.h
70
71 machine:
72         ln -sf ${.CURDIR}/../../../alpha/include machine
73
74 .include <bsd.prog.mk>
75
76 .ORDER: setdefs.h setdef0.c setdef1.c
77 setdefs.h setdef0.c setdef1.c: ${OBJS}
78         @echo Generating linker sets
79         @gensetdefs ${OBJS}
80
81 beforedepend ${OBJS}: machine