xref: /original-bsd/sys/tahoe/stand/Makefile (revision 53fb7652)
1#	@(#)Makefile	7.20 (Berkeley) 05/08/91
2
3DESTDIR=
4STAND=	../../stand
5INCPATH=-I. -I../..
6VPATH=	${STAND}
7
8CC=	cc
9AS=	as
10
11RELOC=		800
12MTBOOTRELOC=	e0000
13BOOTRELOC=	e0000
14LDT1MBSYSOPT=	-T ${MTBOOTRELOC} -x
15LDTSYSOPT=	-T ${BOOTRELOC} -x
16LDTOPT=		-T ${RELOC} -e _entry -x
17
18DEFS=	-DSTANDALONE -DCOMPAT_42 -DTAHOE -DRELOC=0x${RELOC}
19CFLAGS=	-O ${INCPATH} ${DEFS}
20
21DRIVERS=cy.c hd.c vd.c
22SRCS=	boot.c cat.c conf.c copy.c cy.c hd.c ls.c prf.c srt0.c \
23	${DRIVERS}
24LIBS=	libsa/libsa.a libdrive.a ${DESTDIR}/usr/lib/libc.a
25
26SUBDIR=	vdformat
27ALL=	boot cat copy ls
28
29all: srt0.o ${ALL}				# ${SUBDIR}
30
31${SUBDIR}:
32	cd $@; make ${MFLAGS}
33
34libsa/libsa.a::
35	cd libsa; make
36
37libdrive.a: conf.o machdep.o prf.o ${DRIVERS:.c=.o}
38	ar crv $@ $?
39	ranlib $@
40
41machdep.o: machdep.c ../include/mtpr.h ../tahoe/mem.h ../tahoe/SYS.h
42	${CC} -E ${CFLAGS} machdep.c | ${AS}  -o machdep.o
43
44boot: boot.o bootsrt0.o ${LIBS}
45	ld ${LDTSYSOPT} bootsrt0.o boot.o ${LIBS}
46	nm -u a.out
47	size a.out
48	dd if=a.out of=boot ibs=1024 skip=1
49	-rm -f a.out
50
51boot1mb: boot.o boot1mbsrt0.o ${LIBS}
52	ld ${LDT1MBSYSOPT} boot1mbsrt0.o boot.o ${LIBS}
53	nm -u a.out
54	size a.out
55	dd if=a.out of=boot1mb ibs=1024 skip=1
56	-rm -f a.out
57
58cat: cat.o srt0.o ${LIBS}
59	ld ${LDTOPT} -o $@ -s srt0.o cat.o ${LIBS}
60
61copy: copy.o srt0.o ncy.o ${LIBS}
62	ld ${LDTOPT} -o $@ srt0.o copy.o ncy.o ${LIBS}
63
64xpformat: xpformat.o srt0.o ${LIBS}
65	ld ${LDTOPT} -o $@ srt0.o xpformat.o ${LIBS}
66
67ls: ls.o srt0.o ${LIBS}
68	ld ${LDTOPT} -o $@ -s srt0.o ls.o ${LIBS}
69
70srt0.o: srt0.c
71	${CC} -E ${CFLAGS} srt0.c | ${AS} -o srt0.o
72
73bootsrt0.o: srt0.c
74	${CC} -E -DBOOTRELOC=0x${BOOTRELOC} -DREL ${CFLAGS} srt0.c | \
75	    ${AS} -o bootsrt0.o
76
77boot1mbsrt0.o: srt0.c
78	${CC} -E -DBOOTRELOC=0x${MTBOOTRELOC} -DREL ${CFLAGS} srt0.c | \
79	    ${AS} -o boot1mbsrt0.o
80
81ncy.c: cy.c
82	rm -f ncy.c
83	ln cy.c ncy.c
84
85ncy.o: ncy.c
86	${CC} -DNOBLOCK ${CFLAGS} -c ncy.c
87
88clean:
89	rm -f ${ALL} *.o *.map *.bak a.out ncy.c libdrive.a
90	cd libsa; make clean
91	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
92
93cleandir: clean
94	rm -f ${MAN} tags .depend
95	cd libsa; make cleandir
96	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} cleandir); done
97
98depend: ${SRCS}
99	mkdep ${COPTS} ${SRCS}
100	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} depend); done
101
102install:
103	install -o bin -g bin -m 644 cat copy ls ${DESTDIR}/stand
104	install -o bin -g bin -m 644 boot ${DESTDIR}/
105	for i in ${SUBDIR}; do \
106		(cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install) \
107	done
108
109tags: ${SRCS}
110	ctags ${SRCS}
111	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} tags); done
112