Makefile.tarfloppy revision 1.6 1 # $NetBSD: Makefile.tarfloppy,v 1.6 2002/05/07 03:34:17 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}${FLOPPYSUFFIX}
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}${FLOPPYSUFFIX} instead of
27 # ${FLOPPYBASE}1${FLOPPYSUFFIX}
28 # FLOPPYMETAFILE USTAR metafile(s) (optional)
29 # FLOPPYPAD If defined, pad the last floppy to ${FLOPPYSIZE}
30 # FLOPPYSUFFIX Suffix of created floppies.
31 # FLOPPY_RELEASEDIR Where to install release floppies.
32 #
33
34 .if defined(FLOPPY_BOOT) # {
35 CLEANFILES+= boot
36 boot: ${FLOPPY_BOOT}
37 @echo "Copying ${.ALLSRC} to boot"
38 @rm -f boot
39 @cp ${.ALLSRC} boot
40 .if defined(FLOPPY_BOOT_STRIP)
41 @${STRIP} boot
42 .endif
43 .endif # FLOPPY_BOOT # }
44
45
46 .if defined(FLOPPY_NETBSD) # {
47 CLEANFILES+= netbsd
48 netbsd: ${FLOPPY_NETBSD}
49 @echo "Copying ${.ALLSRC} to ${.TARGET}"
50 @rm -f ${.TARGET}
51 @cp ${.ALLSRC} ${.TARGET}
52 .endif # FLOPPY_NETBSD # }
53
54
55 .if defined(FLOPPYMETAFILE) # {
56 CLEANFILES+= ${FLOPPYMETAFILE}
57 ${FLOPPYMETAFILE}:
58 @echo "Creating ${FLOPPYMETAFILE}"
59 @rm -f ${FLOPPYMETAFILE}
60 @touch ${FLOPPYMETAFILE}
61 .endif # FLOPPYMETAFILE # }
62
63
64 ${FLOPPYBASE}1${FLOPPYSUFFIX}: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
65 @echo "Creating ${FLOPPYBASE}1${FLOPPYSUFFIX} from: ${FLOPPYFILES}"
66 PAX=${PAX:Q} sh ${DISTRIBDIR}/common/buildfloppies.sh \
67 ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
68 ${FLOPPYMAX:D-m ${FLOPPYMAX}} ${FLOPPYSUFFIX:D-s ${FLOPPYSUFFIX}} \
69 ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
70
71 CLEANFILES+= ${FLOPPYBASE}?${FLOPPYSUFFIX}
72
73
74 realall: ${FLOPPYBASE}1${FLOPPYSUFFIX}
75
76 .if defined(FLOPPY_RELEASEDIR)
77 release:: check_RELEASEDIR .WAIT ${FLOPPYBASE}1${FLOPPYSUFFIX}
78 if [ -e ${FLOPPYBASE}2${FLOPPYSUFFIX} ]; then \
79 ${RELEASE_INSTALL} ${FLOPPYBASE}?${FLOPPYSUFFIX} \
80 ${RELEASEDIR}/${FLOPPY_RELEASEDIR}; \
81 else \
82 ${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \
83 ${RELEASEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \
84 fi
85 .endif
86