Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / sys / boot / pc98 / loader / Makefile
1 # $FreeBSD: src/sys/boot/pc98/loader/Makefile,v 1.12.2.8 2002/07/17 12:34:17 ru Exp $
2 # $DragonFly: src/sys/boot/pc98/loader/Attic/Makefile,v 1.2 2003/06/17 04:28:18 dillon Exp $
3
4 BASE=           loader
5 PROG=           ${BASE}
6 #NOMAN=
7 STRIP=
8 NEWVERSWHAT=    "bootstrap loader" pc98
9 BINDIR?=        /boot
10 INSTALLFLAGS=   -b
11
12 CFLAGS+=        -DPC98
13
14 # architecture-specific loader code
15 SRCS=           main.c conf.c
16 .PATH:          ${.CURDIR}/../../i386/loader
17
18 # Enable PXE TFTP or NFS support, not both.
19 .if defined(LOADER_TFTP_SUPPORT)
20 CFLAGS+=        -DLOADER_TFTP_SUPPORT
21 .else
22 CFLAGS+=        -DLOADER_NFS_SUPPORT
23 .endif
24
25 # Enable PnP and ISA-PnP code.
26 HAVE_PNP=       yes
27 HAVE_ISABUS=    yes
28
29 .if !defined(NOFORTH)
30 # Enable BootForth
31 BOOT_FORTH=     yes
32 CFLAGS+=        -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
33 .if exists(${.OBJDIR}/../../ficl/libficl.a)
34 LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
35 .else
36 LIBFICL=        ${.CURDIR}/../../ficl/libficl.a
37 .endif
38 .endif
39
40 .if defined(LOADER_BZIP2_SUPPORT)
41 CFLAGS+=        -DLOADER_BZIP2_SUPPORT
42 .endif
43 .if !defined(LOADER_NO_GZIP_SUPPORT)
44 CFLAGS+=        -DLOADER_GZIP_SUPPORT
45 .endif
46
47 # Always add MI sources 
48 .PATH:          ${.CURDIR}/../../common
49 .include        <${.CURDIR}/../../common/Makefile.inc>
50 CFLAGS+=        -I${.CURDIR}/../../common
51 CFLAGS+=        -I${.CURDIR}/../../.. -I. -I${.CURDIR}/../../i386
52
53 CLEANFILES+=    vers.c vers.o ${BASE}.list ${BASE}.bin ${BASE}.sym ${BASE}.help
54
55 CFLAGS+=        -Wall
56 LDFLAGS=        -nostdlib -static -Ttext 0x0
57
58 # pc98 standalone support library
59 LIBPC98=        ${.OBJDIR}/../libpc98/libpc98.a
60 CFLAGS+=        -I${.CURDIR}/..
61
62 # where to get libstand from
63 #XXX need a better way to do this
64 LIBSTAND=       ${.CURDIR}/../../../../lib/libstand/libstand.a
65 .if !exists(${LIBSTAND})
66 LIBSTAND=       ${.OBJDIR}/../../../../lib/libstand/libstand.a
67 .if !exists(${LIBSTAND})
68 LIBSTAND=       -lstand
69 .endif
70 .endif
71 CFLAGS+=        -I${.CURDIR}/../../../../lib/libstand/
72
73 # BTX components
74 .if exists(${.OBJDIR}/../btx)
75 BTXDIR=         ${.OBJDIR}/../btx
76 .else
77 BTXDIR=         ${.CURDIR}/../btx
78 .endif
79 BTXLDR=         ${BTXDIR}/btxldr/btxldr
80 BTXKERN=        ${BTXDIR}/btx/btx
81 BTXCRT=         ${BTXDIR}/lib/crt0.o
82 CFLAGS+=        -I${.CURDIR}/../btx/lib
83
84 # BTX is expecting ELF components
85 CFLAGS+=        -elf
86
87 # New linker set code
88 CFLAGS+=        -DNEW_LINKER_SET
89
90 # Debug me!
91 #CFLAGS+=       -g
92 #LDFLAGS+=      -g
93
94 vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version
95         sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../i386/loader/version ${NEWVERSWHAT}
96         ${CC} -c vers.c
97
98 ${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT} ${BASE}.help
99         btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
100                 -b ${BTXKERN} ${BASE}.bin
101 #       /usr/bin/kzip ${.TARGET}
102 #       mv ${.TARGET}.kz ${.TARGET}
103
104 ${BASE}.bin: ${BASE}.sym
105         cp ${.ALLSRC} ${.TARGET}
106         strip -R .comment -R .note ${.TARGET}
107
108 ${BASE}.help: help.common help.i386
109         cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
110
111 beforeinstall:
112 .if exists(${.OBJDIR}/loader.help)
113         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
114                 ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
115 .else
116         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
117                 ${.CURDIR}/${BASE}.help ${DESTDIR}/boot
118 .endif
119 .if !exists(${DESTDIR}/boot/loader.rc)
120         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
121                 ${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
122 .endif
123         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
124                 ${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
125         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
126                 ${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
127         ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
128                 ${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults
129
130 .include <${.CURDIR}/../Makefile.inc>
131
132 # Cannot use ${OBJS} above this line
133 .include <bsd.prog.mk>
134
135 ${BASE}.sym: ${OBJS} ${LIBPC98} ${LIBSTAND} ${LIBFICL} vers.o
136         ${CC} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} ${OBJS} vers.o \
137                 ${LIBFICL} ${LIBPC98} ${LIBSTAND}
138
139 # If it's not there, don't consider it a target
140 .if exists(${.CURDIR}/../../../i386/include)
141 beforedepend ${OBJS}: machine
142
143 machine:
144         ln -sf ${.CURDIR}/../../../i386/include machine
145
146 .endif
147
148 CLEANFILES+=    machine