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