Home | History | Annotate | Line # | Download | only in common
Makefile.tarfloppy revision 1.17.2.1
      1  1.17.2.1    tls #	$NetBSD: Makefile.tarfloppy,v 1.17.2.1 2014/08/10 06:47:57 tls Exp $
      2       1.1  lukem #
      3       1.1  lukem # Makefile snippet to create a set of ustar floppies.
      4       1.1  lukem # Each floppy has an 8KB header, followed by part or all of the ustar archive.
      5       1.1  lukem #
      6       1.1  lukem # Required variables:
      7       1.3  lukem #	NETBSDSRCDIR	Top level of src tree (set by <bsd.own.mk>)
      8       1.1  lukem #	FLOPPYBASE	Basename of floppies. Floppy number ${n} will
      9       1.5  lukem #			be generated as ${FLOPPYBASE}${n}${FLOPPYSUFFIX}
     10       1.1  lukem #	FLOPPYSIZE	Size of floppy in 512 byte blocks.
     11       1.1  lukem #	FLOPPYFILES	Files to write to floppy.
     12       1.1  lukem #			Usually set to "boot ${FLOPPYMETAFILE} netbsd"
     13       1.1  lukem #
     14       1.1  lukem # Optional variables:
     15       1.1  lukem #	FLOPPY_BOOT		Bootstrap to use as "boot".
     16       1.1  lukem #	FLOPPY_BOOT_STRIP	If yes, strip "boot" before use.
     17       1.1  lukem #	FLOPPY_NETBSD		Kernel to to use as "netbsd".
     18       1.4  lukem #	FLOPPYINSTBOOT		Installboot program to use.
     19       1.4  lukem #				USTAR image file is in @IMAGE@.
     20       1.4  lukem #	FLOPPYMAX		Maximum number of floppies to build.
     21       1.4  lukem #				If 1, the final image is installed as
     22       1.5  lukem #				${FLOPPYBASE}${FLOPPYSUFFIX} instead of
     23       1.5  lukem #				${FLOPPYBASE}1${FLOPPYSUFFIX}
     24       1.4  lukem #	FLOPPYMETAFILE		USTAR metafile(s) (optional)
     25       1.4  lukem #	FLOPPYPAD		If defined, pad the last floppy to ${FLOPPYSIZE}
     26       1.5  lukem #	FLOPPYSUFFIX		Suffix of created floppies.
     27       1.4  lukem #	FLOPPY_RELEASEDIR	Where to install release floppies.
     28       1.1  lukem #
     29       1.1  lukem 
     30       1.8  lukem .if !defined(_MAKEFILE_TARFLOPPY_)
     31       1.8  lukem _MAKEFILE_TARFLOPPY_=1
     32       1.8  lukem 
     33       1.8  lukem 
     34       1.1  lukem .if defined(FLOPPY_BOOT)				# {
     35       1.1  lukem CLEANFILES+=	boot
     36       1.1  lukem boot: ${FLOPPY_BOOT}
     37      1.11  lukem 	${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
     38       1.1  lukem 	@rm -f boot
     39       1.1  lukem 	@cp ${.ALLSRC} boot
     40       1.1  lukem .if defined(FLOPPY_BOOT_STRIP)
     41       1.1  lukem 	@${STRIP} boot
     42       1.1  lukem .endif
     43       1.1  lukem .endif	# FLOPPY_BOOT					# }
     44       1.1  lukem 
     45      1.14    dbj .if defined(FLOPPY_BOOT_CFG)
     46      1.14    dbj CLEANFILES+=	boot.cfg
     47      1.14    dbj boot.cfg:	${FLOPPY_BOOT_CFG}
     48      1.14    dbj 	${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
     49      1.14    dbj 	@rm -f ${.TARGET}
     50      1.14    dbj 	@cp ${.ALLSRC} ${.TARGET}
     51      1.14    dbj .endif	# FLOPPY_BOOT_CFG
     52       1.1  lukem 
     53       1.1  lukem .if defined(FLOPPY_NETBSD)				# {
     54      1.12  pavel CLEANFILES+=	netbsd netbsd.tmp
     55      1.12  pavel .if ${FLOPPY_NETBSD:E}=="gz"
     56      1.12  pavel COPY_CMD=	gunzip -c ${.ALLSRC} > ${.TARGET}.tmp
     57  1.17.2.1    tls COMPRESS_CMD=	${TOOL_GZIP_N} -9c ${.TARGET}.tmp > ${.TARGET}; \
     58      1.17    apb 		rm -f ${.TARGET}.tmp
     59      1.12  pavel .else
     60      1.12  pavel COPY_CMD=	cp ${.ALLSRC} ${.TARGET}.tmp
     61      1.12  pavel COMPRESS_CMD=	mv -f ${.TARGET}.tmp ${.TARGET}
     62      1.12  pavel .endif
     63       1.1  lukem netbsd: ${FLOPPY_NETBSD}
     64      1.11  lukem 	${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
     65      1.12  pavel 	${COPY_CMD}
     66      1.12  pavel 	${STRIP} -R .comment -R .ident ${.TARGET}.tmp
     67      1.12  pavel 	${COMPRESS_CMD}
     68       1.1  lukem .endif	# FLOPPY_NETBSD					# }
     69       1.1  lukem 
     70       1.1  lukem 
     71       1.1  lukem .if defined(FLOPPYMETAFILE)				# {
     72       1.1  lukem CLEANFILES+=	${FLOPPYMETAFILE}
     73       1.1  lukem ${FLOPPYMETAFILE}:
     74      1.11  lukem 	${_MKTARGET_CREATE}
     75       1.1  lukem 	@rm -f ${FLOPPYMETAFILE}
     76       1.1  lukem 	@touch ${FLOPPYMETAFILE}
     77       1.1  lukem .endif	# FLOPPYMETAFILE				# }
     78       1.1  lukem 
     79       1.1  lukem 
     80       1.5  lukem ${FLOPPYBASE}1${FLOPPYSUFFIX}: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
     81      1.11  lukem 	${_MKTARGET_CREATE} "(from: ${FLOPPYFILES})"
     82      1.10  lukem 	PAX=${TOOL_PAX:Q} ${HOST_SH} ${DISTRIBDIR}/common/buildfloppies.sh \
     83       1.1  lukem 	    ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
     84       1.5  lukem 	    ${FLOPPYMAX:D-m ${FLOPPYMAX}} ${FLOPPYSUFFIX:D-s ${FLOPPYSUFFIX}} \
     85      1.15    apb 	    -N ${DESTDIR}/etc \
     86       1.1  lukem 	    ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
     87       1.1  lukem 
     88       1.5  lukem CLEANFILES+=	${FLOPPYBASE}?${FLOPPYSUFFIX}
     89       1.1  lukem 
     90       1.1  lukem 
     91       1.5  lukem realall: ${FLOPPYBASE}1${FLOPPYSUFFIX}
     92       1.1  lukem 
     93       1.4  lukem .if defined(FLOPPY_RELEASEDIR)
     94       1.6  lukem release:: check_RELEASEDIR .WAIT ${FLOPPYBASE}1${FLOPPYSUFFIX}
     95       1.5  lukem 	if [ -e ${FLOPPYBASE}2${FLOPPYSUFFIX} ]; then \
     96       1.5  lukem 		${RELEASE_INSTALL} ${FLOPPYBASE}?${FLOPPYSUFFIX} \
     97      1.13   matt 		    ${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}; \
     98       1.1  lukem 	else \
     99       1.5  lukem 		${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \
    100      1.13   matt 		    ${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \
    101       1.1  lukem 	fi
    102       1.1  lukem .endif
    103       1.8  lukem 
    104       1.8  lukem 
    105       1.8  lukem .endif	# _MAKEFILE_TARFLOPPY_
    106