Makefile.tarfloppy revision 1.3 1 # $NetBSD: Makefile.tarfloppy,v 1.3 2002/04/26 15:50:28 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 #
23 # FLOPPYMAX Maximum number of floppies to build.
24 # If 1, final image is installed as ${FLOPPYBASE}.fs
25 # FLOPPYMETAFILE Ustar metafile (optional)
26 # FLOPPYINSTBOOT Installboot program to use. ustar file is in @IMAGE@.
27 # FLOPPYPAD If defined, pad the last floppy to ${FLOPPYSIZE}
28 # FLOPPYINSTDIR Where to install release images.
29 #
30
31
32 .if defined(FLOPPY_BOOT) # {
33 CLEANFILES+= boot
34 boot: ${FLOPPY_BOOT}
35 @echo "Copying ${.ALLSRC} to boot"
36 @rm -f boot
37 @cp ${.ALLSRC} boot
38 .if defined(FLOPPY_BOOT_STRIP)
39 @${STRIP} boot
40 .endif
41 .endif # FLOPPY_BOOT # }
42
43
44 .if defined(FLOPPY_NETBSD) # {
45 CLEANFILES+= netbsd
46 netbsd: ${FLOPPY_NETBSD}
47 @echo "Copying ${.ALLSRC} to netbsd"
48 @rm -f netbsd
49 @cp ${.ALLSRC} netbsd
50 .endif # FLOPPY_NETBSD # }
51
52
53 .if defined(FLOPPYMETAFILE) # {
54 CLEANFILES+= ${FLOPPYMETAFILE}
55 ${FLOPPYMETAFILE}:
56 @echo "Creating ${FLOPPYMETAFILE}"
57 @rm -f ${FLOPPYMETAFILE}
58 @touch ${FLOPPYMETAFILE}
59 .endif # FLOPPYMETAFILE # }
60
61
62 ${FLOPPYBASE}1.fs: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
63 @echo "Creating ${FLOPPYBASE}1.fs from: ${FLOPPYFILES}"
64 PAX=${PAX:Q} sh ${DISTRIBDIR}/common/buildfloppies.sh \
65 ${FLOPPYMAX:D-m ${FLOPPYMAX}} \
66 ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
67 ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
68
69 CLEANFILES+= ${FLOPPYBASE}?.fs
70
71
72 realall: ${FLOPPYBASE}1.fs
73
74 .if defined(FLOPPYINSTDIR)
75 release: check_RELEASEDIR .WAIT ${FLOPPYBASE}1.fs
76 -mkdir -p ${RELEASEDIR}/${FLOPPYINSTDIR}
77 if [ -e ${FLOPPYBASE}2.fs ]; then \
78 ${RELINSTALL} ${FLOPPYBASE}?.fs \
79 ${RELEASEDIR}/${FLOPPYINSTDIR}; \
80 else \
81 ${RELINSTALL} ${FLOPPYBASE}1.fs \
82 ${RELEASEDIR}/${FLOPPYINSTDIR}/${FLOPPYBASE}.fs; \
83 fi
84 .endif
85