Makefile.tarfloppy revision 1.4 1 # $NetBSD: Makefile.tarfloppy,v 1.4 2002/05/02 18:02:31 lukem Exp $
2 #
3 # Makefile snippet to create a set of ustar floppies.
4 # Each floppy has an 8KB header, followed by part or all of the ustar archive.
5 #
6
7 #
8 # Required variables:
9 # NETBSDSRCDIR Top level of src tree (set by <bsd.own.mk>)
10 # FLOPPYBASE Basename of floppies. Floppy number ${n} will
11 # be generated as ${FLOPPYBASE}${n}.fs
12 # FLOPPYSIZE Size of floppy in 512 byte blocks.
13 # FLOPPYFILES Files to write to floppy.
14 # Usually set to "boot ${FLOPPYMETAFILE} netbsd"
15 #
16
17 #
18 # Optional variables:
19 # FLOPPY_BOOT Bootstrap to use as "boot".
20 # FLOPPY_BOOT_STRIP If yes, strip "boot" before use.
21 # FLOPPY_NETBSD Kernel to to use as "netbsd".
22 # FLOPPYINSTBOOT Installboot program to use.
23 # USTAR image file is in @IMAGE@.
24 # FLOPPYMAX Maximum number of floppies to build.
25 # If 1, the final image is installed as
26 # ${FLOPPYBASE}.fs instead of ${FLOPPYBASE}1.fs
27 # FLOPPYMETAFILE USTAR metafile(s) (optional)
28 # FLOPPYPAD If defined, pad the last floppy to ${FLOPPYSIZE}
29 # FLOPPY_RELEASEDIR Where to install release floppies.
30 #
31
32
33 .if defined(FLOPPY_BOOT) # {
34 CLEANFILES+= boot
35 boot: ${FLOPPY_BOOT}
36 @echo "Copying ${.ALLSRC} to boot"
37 @rm -f boot
38 @cp ${.ALLSRC} boot
39 .if defined(FLOPPY_BOOT_STRIP)
40 @${STRIP} boot
41 .endif
42 .endif # FLOPPY_BOOT # }
43
44
45 .if defined(FLOPPY_NETBSD) # {
46 CLEANFILES+= netbsd
47 netbsd: ${FLOPPY_NETBSD}
48 @echo "Copying ${.ALLSRC} to netbsd"
49 @rm -f netbsd
50 @cp ${.ALLSRC} netbsd
51 .endif # FLOPPY_NETBSD # }
52
53
54 .if defined(FLOPPYMETAFILE) # {
55 CLEANFILES+= ${FLOPPYMETAFILE}
56 ${FLOPPYMETAFILE}:
57 @echo "Creating ${FLOPPYMETAFILE}"
58 @rm -f ${FLOPPYMETAFILE}
59 @touch ${FLOPPYMETAFILE}
60 .endif # FLOPPYMETAFILE # }
61
62
63 ${FLOPPYBASE}1.fs: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
64 @echo "Creating ${FLOPPYBASE}1.fs from: ${FLOPPYFILES}"
65 PAX=${PAX:Q} sh ${DISTRIBDIR}/common/buildfloppies.sh \
66 ${FLOPPYMAX:D-m ${FLOPPYMAX}} \
67 ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
68 ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
69
70 CLEANFILES+= ${FLOPPYBASE}?.fs
71
72
73 realall: ${FLOPPYBASE}1.fs
74
75 .if defined(FLOPPY_RELEASEDIR)
76 release: check_RELEASEDIR .WAIT ${FLOPPYBASE}1.fs
77 if [ -e ${FLOPPYBASE}2.fs ]; then \
78 ${RELEASE_INSTALL} ${FLOPPYBASE}?.fs \
79 ${RELEASEDIR}/${FLOPPY_RELEASEDIR}; \
80 else \
81 ${RELEASE_INSTALL} ${FLOPPYBASE}1.fs \
82 ${RELEASEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}.fs; \
83 fi
84 .endif
85