Module Name:    src
Committed By:   christos
Date:           Sat Apr  8 19:53:23 UTC 2017

Modified Files:
        src/sys/arch/acorn26/stand: Makefile.buildboot
        src/sys/arch/acorn32/stand: Makefile.buildboot
        src/sys/arch/alpha/stand: Makefile.bootprogs
        src/sys/arch/amiga/stand/bootblock/boot: Makefile
        src/sys/arch/amiga/stand/bootblock/bootxx_ffs: Makefile
        src/sys/arch/arc/stand/boot: Makefile
        src/sys/arch/bebox/stand/boot: Makefile
        src/sys/arch/cobalt/stand/boot: Makefile
        src/sys/arch/emips/stand: Makefile.booters
        src/sys/arch/epoc32/stand/e32boot/exe: Makefile
        src/sys/arch/evbarm/stand/boot2440: Makefile
        src/sys/arch/evbarm/stand/gzboot: Makefile.gzboot
        src/sys/arch/ews4800mips/stand/boot: Makefile
        src/sys/arch/hp300/stand: Makefile.buildboot
        src/sys/arch/hpcmips/stand/lcboot: Makefile
        src/sys/arch/hppa/stand: Makefile.buildboot
        src/sys/arch/i386/stand: Makefile.booters
        src/sys/arch/i386/stand/boot: Makefile.boot
        src/sys/arch/i386/stand/efiboot: Makefile.efiboot
        src/sys/arch/ia64/stand/ia64/efi: Makefile
        src/sys/arch/ia64/stand/ia64/ski: Makefile
        src/sys/arch/landisk/stand/boot: Makefile.boot
        src/sys/arch/luna68k/stand/boot: Makefile
        src/sys/arch/macppc/stand/ofwboot: Makefile
        src/sys/arch/mipsco/stand: Makefile.booters
        src/sys/arch/mmeye/stand/boot: Makefile
        src/sys/arch/mvme68k/stand: Makefile.booters
        src/sys/arch/mvmeppc/stand: Makefile.booters
        src/sys/arch/news68k/stand: Makefile.inc
        src/sys/arch/newsmips/stand: Makefile.inc
        src/sys/arch/next68k/stand/boot: Makefile
        src/sys/arch/ofppc/stand/ofwboot: Makefile
        src/sys/arch/pmax/stand: Makefile.booters
        src/sys/arch/prep/stand/boot: Makefile
        src/sys/arch/rs6000/stand/boot: Makefile
        src/sys/arch/sandpoint/stand/altboot: Makefile
        src/sys/arch/sbmips/stand: Makefile.bootprogs
        src/sys/arch/sgimips/stand: Makefile.booters
        src/sys/arch/sgimips/stand/boot64: Makefile
        src/sys/arch/shark/stand/ofwboot: Makefile
        src/sys/arch/sparc/stand/boot: Makefile
        src/sys/arch/sparc/stand/ofwboot: Makefile
        src/sys/arch/sun68k/stand/libsa: Makefile.inc
        src/sys/arch/vax/boot/boot: Makefile
        src/sys/arch/x68k/stand/boot: Makefile
        src/sys/arch/x68k/stand/boot_ufs: Makefile
        src/sys/arch/x68k/stand/boot_ustar: Makefile
        src/sys/arch/x68k/stand/xxboot: Makefile.xxboot
        src/sys/arch/zaurus/stand/zboot: Makefile

Log Message:
centralize vers.c building for standalone programs.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/acorn26/stand/Makefile.buildboot
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/acorn32/stand/Makefile.buildboot
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/alpha/stand/Makefile.bootprogs
cvs rdiff -u -r1.54 -r1.55 src/sys/arch/amiga/stand/bootblock/boot/Makefile
cvs rdiff -u -r1.23 -r1.24 \
    src/sys/arch/amiga/stand/bootblock/bootxx_ffs/Makefile
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arc/stand/boot/Makefile
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/bebox/stand/boot/Makefile
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/cobalt/stand/boot/Makefile
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/emips/stand/Makefile.booters
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/epoc32/stand/e32boot/exe/Makefile
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/evbarm/stand/boot2440/Makefile
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/ews4800mips/stand/boot/Makefile
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/hp300/stand/Makefile.buildboot
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/hpcmips/stand/lcboot/Makefile
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/hppa/stand/Makefile.buildboot
cvs rdiff -u -r1.90 -r1.91 src/sys/arch/i386/stand/Makefile.booters
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/i386/stand/boot/Makefile.boot
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/i386/stand/efiboot/Makefile.efiboot
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/stand/ia64/efi/Makefile
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/stand/ia64/ski/Makefile
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/landisk/stand/boot/Makefile.boot
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/luna68k/stand/boot/Makefile
cvs rdiff -u -r1.55 -r1.56 src/sys/arch/macppc/stand/ofwboot/Makefile
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/mipsco/stand/Makefile.booters
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/mmeye/stand/boot/Makefile
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/mvme68k/stand/Makefile.booters
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/mvmeppc/stand/Makefile.booters
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/news68k/stand/Makefile.inc
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/newsmips/stand/Makefile.inc
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/next68k/stand/boot/Makefile
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/ofppc/stand/ofwboot/Makefile
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/pmax/stand/Makefile.booters
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/prep/stand/boot/Makefile
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/rs6000/stand/boot/Makefile
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/sandpoint/stand/altboot/Makefile
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/sbmips/stand/Makefile.bootprogs
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/sgimips/stand/Makefile.booters
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/sgimips/stand/boot64/Makefile
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/shark/stand/ofwboot/Makefile
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/sparc/stand/boot/Makefile
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/sparc/stand/ofwboot/Makefile
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sun68k/stand/libsa/Makefile.inc
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/vax/boot/boot/Makefile
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/x68k/stand/boot/Makefile
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/x68k/stand/boot_ufs/Makefile
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/x68k/stand/boot_ustar/Makefile
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/x68k/stand/xxboot/Makefile.xxboot
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/zaurus/stand/zboot/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/acorn26/stand/Makefile.buildboot
diff -u src/sys/arch/acorn26/stand/Makefile.buildboot:1.22 src/sys/arch/acorn26/stand/Makefile.buildboot:1.23
--- src/sys/arch/acorn26/stand/Makefile.buildboot:1.22	Wed Feb 22 07:44:21 2017
+++ src/sys/arch/acorn26/stand/Makefile.buildboot	Sat Apr  8 15:53:19 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.buildboot,v 1.22 2017/02/22 12:44:21 maya Exp $
+#	$NetBSD: Makefile.buildboot,v 1.23 2017/04/08 19:53:19 christos Exp $
 
 S?=	${.CURDIR}/../../../..
 
@@ -20,15 +20,11 @@ LIBCRTEND=
 
 RISCOSTYPE ?= ff8
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.own.mk>
 .include <bsd.klinks.mk>
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version ${MACHINE} ${NEWVERSWHAT}
 
 CPUFLAGS=
 CPPFLAGS+=	-D_STANDALONE -DHIMEM=0x28000

Index: src/sys/arch/acorn32/stand/Makefile.buildboot
diff -u src/sys/arch/acorn32/stand/Makefile.buildboot:1.22 src/sys/arch/acorn32/stand/Makefile.buildboot:1.23
--- src/sys/arch/acorn32/stand/Makefile.buildboot:1.22	Wed Feb 22 07:44:21 2017
+++ src/sys/arch/acorn32/stand/Makefile.buildboot	Sat Apr  8 15:53:19 2017
@@ -1,11 +1,9 @@
-#	$NetBSD: Makefile.buildboot,v 1.22 2017/02/22 12:44:21 maya Exp $
+#	$NetBSD: Makefile.buildboot,v 1.23 2017/04/08 19:53:19 christos Exp $
 
 S?=	${.CURDIR}/../../../..
 
 .PATH: ${.CURDIR}/../lib
 
-KLINK_MACHINE=	acorn32
-
 SRCS=	${PROGSOURCE}
 NOMAN=# defined
 BINDIR=/usr/mdec
@@ -31,16 +29,11 @@ RELOC=8000
 LINKFLAGS+=-N -Ttext ${RELOC}
 .endif
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.own.mk>
 .include <bsd.klinks.mk>
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version ${KLINK_MACHINE} ${NEWVERSWHAT}
-
 CPPFLAGS+=	-D_STANDALONE 
 CPPFLAGS+=	-I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
 CPPFLAGS+=	-I${.CURDIR}/../lib

Index: src/sys/arch/alpha/stand/Makefile.bootprogs
diff -u src/sys/arch/alpha/stand/Makefile.bootprogs:1.35 src/sys/arch/alpha/stand/Makefile.bootprogs:1.36
--- src/sys/arch/alpha/stand/Makefile.bootprogs:1.35	Wed Jan 20 07:49:21 2016
+++ src/sys/arch/alpha/stand/Makefile.bootprogs	Sat Apr  8 15:53:19 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.bootprogs,v 1.35 2016/01/20 12:49:21 jklos Exp $
+# $NetBSD: Makefile.bootprogs,v 1.36 2017/04/08 19:53:19 christos Exp $
 
 NOMAN=			# defined
 
@@ -34,17 +34,8 @@ CPPFLAGS+= -DNETBSD_VERS='"${NETBSD_VERS
 CWARNFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
 CFLAGS+=	-Werror ${CWARNFLAGS}
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists(version)
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    -N ${.CURDIR}/version "alpha"
-
-SRCS+=	vers.c
-CLEANFILES+= vers.c
-.endif
+.include "${S}/conf/newvers_stand.mk"
+
 
 # For descriptions of regions available to bootstrap programs, see
 # section 3.4.1.2 (pp. III 3-14 - III 3-18) of the second edition of

Index: src/sys/arch/amiga/stand/bootblock/boot/Makefile
diff -u src/sys/arch/amiga/stand/bootblock/boot/Makefile:1.54 src/sys/arch/amiga/stand/bootblock/boot/Makefile:1.55
--- src/sys/arch/amiga/stand/bootblock/boot/Makefile:1.54	Sat Sep 17 13:09:10 2016
+++ src/sys/arch/amiga/stand/bootblock/boot/Makefile	Sat Apr  8 15:53:19 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.54 2016/09/17 17:09:10 christos Exp $
+#	$NetBSD: Makefile,v 1.55 2017/04/08 19:53:19 christos Exp $
 
 .include <bsd.init.mk>
 .include <bsd.sys.mk>		# for HOST_SH
@@ -11,11 +11,11 @@
 #XX#DIR_LIBZ =	${DIR_TOP}/../common/dist/zlib
 
 DIR_TOP=	${.CURDIR}/../../../../..
-DIR_SA = 	${DIR_TOP}/lib/libsa
+DIR_SA = 	${S}/lib/libsa
 DIR_LIBZ=
-DIR_KERN=	${DIR_TOP}/lib/libkern
-DIR_KERN_MD=	${DIR_TOP}/lib/libkern/arch/$(MACHINE_ARCH)
-DIR_LIBC=	${DIR_TOP}/../common/lib/libc
+DIR_KERN=	${S}/lib/libkern
+DIR_KERN_MD=	${S}/lib/libkern/arch/$(MACHINE_ARCH)
+DIR_LIBC=	${S}/../common/lib/libc
 
 .PATH:  $(DIR_SA) ${DIR_LIBZ} $(DIR_KERN) $(DIR_KERN_MD) \
 	${DIR_LIBC}/gen ${DIR_LIBC}/arch/m68k/gen \
@@ -47,7 +47,7 @@ SOBJS = alloc.o ashrdi3.o ashldi3.o bcop
 SOBJS += strlen.o memcmp.o memset.o strerror.o strncmp.o
 SOBJS += libstubs.o
 
-OBJS=	$(SOBJS) $(COBJS)
+OBJS+=	$(SOBJS) $(COBJS)
 
 #XX#DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER -DDYNAMIC_CRC_TABLE -DNOBYFOUR -UBYFOUR 
 DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER 
@@ -68,7 +68,10 @@ DEFS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'
 
 realall: ${FILES}
 
-CLEANFILES += boot.amiga x.out xxstart.o libboot.a vers.c
+CLEANFILES += boot.amiga x.out xxstart.o libboot.a
+
+VERSIONFLAGS+=-N
+.include "${S}/conf/newvers_stand.mk"
 
 .include <bsd.prog.mk>
 .include <bsd.klinks.mk>
@@ -126,12 +129,6 @@ libboot.a: ${OBJS}
 	${_MKTARGET_BUILD}
 	${AR} crs $@ $> && ${RANLIB} $@
 
-vers.o: vers.c
-vers.c:	${.CURDIR}/version
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${DIR_TOP}/conf/newvers_stand.sh \
-	    ${${MKREPRO} == "yes" :?:-D} -N ${.CURDIR}/version "amiga"
-
 # make sure these are built:
 
 ${COBJS}: ${TXLT}

Index: src/sys/arch/amiga/stand/bootblock/bootxx_ffs/Makefile
diff -u src/sys/arch/amiga/stand/bootblock/bootxx_ffs/Makefile:1.23 src/sys/arch/amiga/stand/bootblock/bootxx_ffs/Makefile:1.24
--- src/sys/arch/amiga/stand/bootblock/bootxx_ffs/Makefile:1.23	Fri Jan 15 03:27:04 2016
+++ src/sys/arch/amiga/stand/bootblock/bootxx_ffs/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,12 +1,12 @@
-#	$NetBSD: Makefile,v 1.23 2016/01/15 08:27:04 mlelstv Exp $
+#	$NetBSD: Makefile,v 1.24 2017/04/08 19:53:20 christos Exp $
 
 ### what we need:
 
-DIR_TOP=	${.CURDIR}/../../../../..
-DIR_SA = 	${DIR_TOP}/lib/libsa
-DIR_KERN=	${DIR_TOP}/lib/libkern
-DIR_KERN_MD=	${DIR_TOP}/lib/libkern/arch/$(MACHINE_ARCH)
-DIR_LIBC=	${DIR_TOP}/../common/lib/libc
+S=	${.CURDIR}/../../../../..
+DIR_SA = 	${S}/lib/libsa
+DIR_KERN=	${S}/lib/libkern
+DIR_KERN_MD=	${S}/lib/libkern/arch/$(MACHINE_ARCH)
+DIR_LIBC=	${S}/../common/lib/libc
 
 .PATH:  ${.CURDIR}/../boot $(DIR_SA) $(DIR_KERN) $(DIR_KERN_MD) \
 	${DIR_LIBC}/gen ${DIR_LIBC}/arch/m68k/gen \
@@ -25,13 +25,13 @@ BINDIR=/usr/mdec
 
 COBJS = main.o console.o xd.o twiddle.o bzero.o gets.o
 COBJS+=  lseek.o open.o read.o close.o dev.o errno.o
-COBJS+=  ufs.o ustarfs.o panic.o vers.o files.o
+COBJS+=  ufs.o ustarfs.o panic.o files.o
 
 SOBJS = alloc.o ashrdi3.o ashldi3.o bcopy.o muldi3.o printf.o startit.o
 SOBJS += strlen.o strcmp.o fstat.o
 SOBJS += libstubs.o memcmp.o memmove.o memset.o strncmp.o
 
-OBJS=	$(SOBJS) $(COBJS)
+OBJS+=	$(SOBJS) $(COBJS)
 
 DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER -D_PRIMARY_BOOT -DSERCONSOLE
 
@@ -41,14 +41,14 @@ DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER 
 
 realall: ${FILES}
 
-CLEANFILES += bootxx_ffs bootxx_fd x.out f.out xxstart.o fdstart.o libboot.a vers.c
+CLEANFILES += bootxx_ffs bootxx_fd x.out f.out xxstart.o fdstart.o libboot.a
 
 .include <bsd.prog.mk>
 .include <bsd.klinks.mk>
 
 ### special  rules for bootblocks ###
 
-INCPATH = -nostdinc -I${DIR_TOP} -I${DIR_TOP}/lib/libsa -I${.CURDIR}
+INCPATH = -nostdinc -I${S} -I${S}/lib/libsa -I${.CURDIR}
 INCPATH += -I${.CURDIR}/../boot -I${.CURDIR}/../../..
 INCPATH += -I${.CURDIR}/../elf2bb -I${.OBJDIR}
 
@@ -113,10 +113,9 @@ libboot.a: ${OBJS}
 	${_MKTARGET_BUILD}
 	${AR} crs $@ $> && ${RANLIB} $@
 
-vers.c:	${.CURDIR}/../boot/version
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${DIR_TOP}/conf/newvers_stand.sh -N \
-	    ${.CURDIR}/../boot/version "amiga"
+VERSIONFILE=${.CURDIR}/../boot/version
+VERSIONFLAGS=-n
+.include "${S}/conf/newvers_stand.mk"
 
 # make sure these are built:
 

Index: src/sys/arch/arc/stand/boot/Makefile
diff -u src/sys/arch/arc/stand/boot/Makefile:1.16 src/sys/arch/arc/stand/boot/Makefile:1.17
--- src/sys/arch/arc/stand/boot/Makefile:1.16	Thu Sep  8 10:36:13 2016
+++ src/sys/arch/arc/stand/boot/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.16 2016/09/08 14:36:13 christos Exp $
+# $NetBSD: Makefile,v 1.17 2017/04/08 19:53:20 christos Exp $
 
 .include <bsd.init.mk>
 
@@ -38,18 +38,6 @@ LDSCRIPT=  ${S}/arch/mips/conf/stand.lds
 TEXTADDR=  0x80f00000
 LD+=		-m elf32ltsmip
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists(version)
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version ${MACHINE}
-
-SRCS+=	vers.c
-CLEANFILES+= vers.c
-.endif
-
 ### find out what to use for libsa
 SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
 .include "${S}/lib/libsa/Makefile.inc"
@@ -79,5 +67,7 @@ ${PROG}: ${OBJS} ${LIBS}
 
 CLEANFILES+=	${PROG}.elf ${PROG}.map
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.klinks.mk>
 .include <bsd.prog.mk>

Index: src/sys/arch/bebox/stand/boot/Makefile
diff -u src/sys/arch/bebox/stand/boot/Makefile:1.34 src/sys/arch/bebox/stand/boot/Makefile:1.35
--- src/sys/arch/bebox/stand/boot/Makefile:1.34	Sun Jan 12 10:26:28 2014
+++ src/sys/arch/bebox/stand/boot/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.34 2014/01/12 15:26:28 tsutsui Exp $
+#	$NetBSD: Makefile,v 1.35 2017/04/08 19:53:20 christos Exp $
 
 NOMAN= # defined
 
@@ -23,7 +23,7 @@ NEWVERSWHAT=	"BOOT"
 SRCS= srt0.s
 SRCS+= boot.c clock.c com.c conf.c cons.c cpu.c devopen.c
 SRCS+= fd.c filesystem.c inkernel.c io.c kbd.c monitor.c ns16550.c
-SRCS+= pci.c prf.c sd.c siop.c tgets.c vers.c vga.c video.c vreset.c wdc.c wd.c
+SRCS+= pci.c prf.c sd.c siop.c tgets.c vga.c video.c vreset.c wdc.c wd.c
 SRCS+= setjmp.S
 
 CFLAGS= -Wno-main -ffreestanding
@@ -57,19 +57,17 @@ LIBCRTEND=
 
 RELOC= 0x700000
 
-CLEANFILES+= vers.c ${PROG}.elf
+CLEANFILES+= ${PROG}.elf
 
 LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a
 
-vers.c: ${.CURDIR}/../boot/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/../boot/version "bebox" ${NEWVERSWHAT}
-
 ${PROG}: ${OBJS} ${LIBS}
 	${_MKTARGET_LINK}
 	${LD} -o ${PROG}.elf -N -T ${.CURDIR}/../boot/ld.script \
 		-Ttext ${RELOC} ${OBJS} ${LIBS}
 	${STRIP} -o ${PROG} ${PROG}.elf
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>
 .include <bsd.klinks.mk>

Index: src/sys/arch/cobalt/stand/boot/Makefile
diff -u src/sys/arch/cobalt/stand/boot/Makefile:1.31 src/sys/arch/cobalt/stand/boot/Makefile:1.32
--- src/sys/arch/cobalt/stand/boot/Makefile:1.31	Thu Sep  8 10:37:37 2016
+++ src/sys/arch/cobalt/stand/boot/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.31 2016/09/08 14:37:37 christos Exp $
+#	$NetBSD: Makefile,v 1.32 2017/04/08 19:53:20 christos Exp $
 
 NOMAN= # defined
 
@@ -84,9 +84,6 @@ SRCS+=		lcd.c
 .PATH: ${LIBSADIR}
 SRCS+=		dev_net.c
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-
 ### find out what to use for libkern
 KERN_AS=	library
 .include "${S}/lib/libkern/Makefile.inc"
@@ -102,10 +99,7 @@ SAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_
 
 LIBS=		${SALIB} ${ZLIB} ${KERNLIB}
 
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "cobalt"
+.include "${S}/conf/newvers_stand.mk"
 
 ${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
 	${LD} ${LINKFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \

Index: src/sys/arch/emips/stand/Makefile.booters
diff -u src/sys/arch/emips/stand/Makefile.booters:1.6 src/sys/arch/emips/stand/Makefile.booters:1.7
--- src/sys/arch/emips/stand/Makefile.booters:1.6	Wed Jan 22 10:16:14 2014
+++ src/sys/arch/emips/stand/Makefile.booters	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.booters,v 1.6 2014/01/22 15:16:14 christos Exp $
+# $NetBSD: Makefile.booters,v 1.7 2017/04/08 19:53:20 christos Exp $
 
 NOMAN=1
 .include <bsd.own.mk>
@@ -62,8 +62,8 @@ CHECKSIZE_CMD?=	SIZE=${SIZE} ${HOST_SH} 
 PROG=		${SECONDARY_PROG}
 LOAD_ADDRESS=	${SECONDARY_LOAD_ADDRESS}
 CPPFLAGS+=	-DSECONDARY_BOOTBLOCK -DHEAP_VARIABLE
-SRCS+=	vers.c
-CLEANFILES+= vers.c
+
+.include "${S}/conf/newvers_stand.mk"
 .else
 # XXX ?
 .endif
@@ -98,10 +98,6 @@ LIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKE
 
 .include <bsd.own.mk>
 
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    -N ${.CURDIR}/version "emips"
-
 ${PROG}: ${OBJS} ${LIBS}
 	${_MKTARGET_LINK}
 	${LD} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \

Index: src/sys/arch/epoc32/stand/e32boot/exe/Makefile
diff -u src/sys/arch/epoc32/stand/e32boot/exe/Makefile:1.4 src/sys/arch/epoc32/stand/e32boot/exe/Makefile:1.5
--- src/sys/arch/epoc32/stand/e32boot/exe/Makefile:1.4	Wed Jan 15 20:15:33 2014
+++ src/sys/arch/epoc32/stand/e32boot/exe/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.4 2014/01/16 01:15:33 christos Exp $
+#	$NetBSD: Makefile,v 1.5 2017/04/08 19:53:20 christos Exp $
 
 .include <bsd.own.mk>
 .include <bsd.obj.mk>
@@ -7,7 +7,6 @@
 PROG=e32boot.exe
 
 SRCS=e32boot.cpp netbsd.cpp
-SRCS+=vers.c
 OBJS=$(SRCS:R:S/$/.o/g)
 
 IN=$(PROG:.exe=.in)
@@ -59,14 +58,10 @@ $(IN): $(OBJS)
 	$(AR) r $@ $(OBJS)
 	$(RANLIB) $@
 
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version ${MACHINE}
-
-
 clean:
-	rm -f $(PROG) $(OBJS) vers.c $(IN) $(MAP)
+	rm -f $(PROG) $(OBJS) $(IN) $(MAP)
 	rm -f $(PROG:.exe=.bas) $(PROG:.exe=.exp)
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.files.mk>

Index: src/sys/arch/evbarm/stand/boot2440/Makefile
diff -u src/sys/arch/evbarm/stand/boot2440/Makefile:1.17 src/sys/arch/evbarm/stand/boot2440/Makefile:1.18
--- src/sys/arch/evbarm/stand/boot2440/Makefile:1.17	Wed Feb 22 08:14:45 2017
+++ src/sys/arch/evbarm/stand/boot2440/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,15 +1,15 @@
-#	$NetBSD: Makefile,v 1.17 2017/02/22 13:14:45 maya Exp $
+#	$NetBSD: Makefile,v 1.18 2017/04/08 19:53:20 christos Exp $
 
 S=		${.CURDIR}/../../../..
 
 PROG=		bootmini2440
 SRCS=		entry.S main.c devopen.c netif.c dev_net.c dm9000.c dev_sdmmc.c
-SRCS+=		s3csdi.c vers.c
+SRCS+=		s3csdi.c
 
 .include <bsd.own.mk>
 .include <bsd.klinks.mk>
 
-CLEANFILES+=	vers.c ${PROG}.elf
+CLEANFILES+=	${PROG}.elf
 CFLAGS+=	-Wall -Wno-main -ffreestanding -fno-unwind-tables
 CPPFLAGS+=	-D_STANDALONE -DSUPPORT_DHCP -DLIBSA_PRINTF_WIDTH_SUPPORT
 CPPFLAGS+=	-DDM9000MAC="0x08,0x08,0x11,0x18,0x12,0x27" 
@@ -52,15 +52,13 @@ SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE
 .include "${S}/lib/libsa/Makefile.inc"
 LIBSA=		${SALIB}
 
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh -K \
-	    ${${MKREPRO} == "yes" :?:-D} ${.CURDIR}/version "evbarm"
-
 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${_MKTARGET_LINK}
 	${LD} -N -Ttext ${RELOC} -Bstatic -e ${ENTRY} -o ${.TARGET}.elf \
 	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${OBJCOPY} -S -O binary ${.TARGET}.elf ${.TARGET}
 
+VERSIONFLAGS+=-k
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot
diff -u src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.35 src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.36
--- src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot:1.35	Wed Feb 22 07:51:38 2017
+++ src/sys/arch/evbarm/stand/gzboot/Makefile.gzboot	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.gzboot,v 1.35 2017/02/22 12:51:38 maya Exp $
+#	$NetBSD: Makefile.gzboot,v 1.36 2017/04/08 19:53:20 christos Exp $
 
 NOMAN=  # defined
 
@@ -14,8 +14,6 @@ PROG=	${BASE}.bin
 WARNS=	1
 
 NEWVERSWHAT=	"Gzip Boot"
-VERSIONFILE=	${EVBARM_STAND}/gzboot/version
-
 BINMODE=644
 
 DBG=	-Os
@@ -59,9 +57,8 @@ COPTS+=	-fno-unwind-tables
 CWARNFLAGS+= -Werror
 CWARNFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
 
-CLEANFILES+= ${STARTFILE} vers.c ${BASE}.list
+CLEANFILES+= ${STARTFILE} ${BASE}.list
 CLEANFILES+= ${PROGSYM}
-SRCS+= vers.c
 
 ### find out what to use for libkern
 KERN_AS=	library
@@ -87,10 +84,7 @@ DIRECT_LDFLAGS= -M -T ${LDSCRIPT} --fix-
 
 LIBLIST=${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} ${LIBSA}
 
-.PHONY: vers.c
-vers.c: ${VERSIONFILE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.ALLSRC} '${PLATFORM}' ${NEWVERSWHAT}
+.include "${S}/conf/newvers_stand.mk"
 
 ${PROG}: ${PROGSYM}
 	${OBJCOPY} -O binary ${PROGSYM} ${.TARGET}

Index: src/sys/arch/ews4800mips/stand/boot/Makefile
diff -u src/sys/arch/ews4800mips/stand/boot/Makefile:1.21 src/sys/arch/ews4800mips/stand/boot/Makefile:1.22
--- src/sys/arch/ews4800mips/stand/boot/Makefile:1.21	Tue Sep 20 16:56:57 2016
+++ src/sys/arch/ews4800mips/stand/boot/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.21 2016/09/20 20:56:57 christos Exp $
+#	$NetBSD: Makefile,v 1.22 2017/04/08 19:53:20 christos Exp $
 
 WARNS		?= 1
 NOMAN		=
@@ -51,13 +51,7 @@ SRCS		+= ga.c
 # ../../ews4800mips
 SRCS		+= pdinfo.c vtoc.c
 
-.PHONY: vers.c
-vers.c: version
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version ${MACHINE}
-
-SRCS+=	vers.c
-CLEANFILES+= vers.c
+.include "${S}/conf/newvers_stand.mk"
 
 TEXTADDR	= 0xa0a00000
 LINKFLAGS	= -T ${S}/arch/mips/conf/stand.ldscript -Ttext ${TEXTADDR} \

Index: src/sys/arch/hp300/stand/Makefile.buildboot
diff -u src/sys/arch/hp300/stand/Makefile.buildboot:1.35 src/sys/arch/hp300/stand/Makefile.buildboot:1.36
--- src/sys/arch/hp300/stand/Makefile.buildboot:1.35	Sun Jan 17 03:05:20 2016
+++ src/sys/arch/hp300/stand/Makefile.buildboot	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.buildboot,v 1.35 2016/01/17 08:05:20 tsutsui Exp $
+#	$NetBSD: Makefile.buildboot,v 1.36 2017/04/08 19:53:20 christos Exp $
 
 # RELOC=FFF00000 allows for boot prog up to FF000 (1044480) bytes long
 RELOC=	FFF00000
@@ -15,16 +15,13 @@ NOMAN=		# defined
 STRIPFLAG=
 BINMODE=	444
 
-CLEANFILES+=	${PROGAOUT} vers.c vers.o
+CLEANFILES+=	${PROGAOUT}
 
 CPPFLAGS+=	-I${.CURDIR}/../../.. -I${.CURDIR}/../../../..  -I${.OBJDIR}
 CPPFLAGS+=	-Wno-main
 CPPFLAGS+=	-D__daddr_t=int32_t
 CFLAGS=		-Os -msoft-float -ffreestanding
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-
 # XXX SHOULD NOT NEED TO DEFINE THESE!
 LIBCRT0=
 LIBCRTI=
@@ -32,16 +29,13 @@ LIBC=
 LIBCRTBEGIN=
 LIBCRTEND=
 
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh \
-	    ${.CURDIR}/version ${MACHINE} ${NEWVERSWHAT}
-
 ${PROG}: ${PROGAOUT}
 	${OBJCOPY} --output-target=binary ${PROGAOUT} ${PROGAOUT}.bin
 	${TOOL_HP300MKBOOT} -l 0x${RELOC} ${PROGAOUT}.bin ${PROG}
 	rm -f ${PROGAOUT}.bin
 
+.include "${S}/conf/newvers_stand.mk"
+
 CPPFLAGS+=		-DDCACONSOLE -DAPCICONSOLE -DITECONSOLE -DDCMCONSOLE
 CPPFLAGS+=		-DHIL_KEYBOARD -DUK_KEYBOARD
 CPPFLAGS+=		-DDOMAIN_KEYBOARD

Index: src/sys/arch/hpcmips/stand/lcboot/Makefile
diff -u src/sys/arch/hpcmips/stand/lcboot/Makefile:1.12 src/sys/arch/hpcmips/stand/lcboot/Makefile:1.13
--- src/sys/arch/hpcmips/stand/lcboot/Makefile:1.12	Wed Aug 21 03:27:01 2013
+++ src/sys/arch/hpcmips/stand/lcboot/Makefile	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.12 2013/08/21 07:27:01 matt Exp $
+#	$NetBSD: Makefile,v 1.13 2017/04/08 19:53:20 christos Exp $
 .include <bsd.own.mk>
 
 ROMICE?=	no
@@ -18,8 +18,6 @@ SRCS=	start.S main.c com.c conf.c dev_fl
 STARTOBJS=
 
 NEWVERSWHAT=    "L-Card+ Boot"
-VERSIONFILE=    ${S}/arch/hpcmips/stand/lcboot/version
-
 
 # Make sure we override any optimization options specified by the user.
 #COPTS=  -Os
@@ -53,17 +51,6 @@ LIBSA=	${SALIB}
 
 LIBLIST=	${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} ${LIBSA}
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists (${VERSIONFILE})
-SRCS+=	vers.c
-CLEANFILES+=	vers.c
-.PHONY: vers.c
-vers.c: ${VERSIONFILE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.ALLSRC} 'hpcmips' ${NEWVERSWHAT}
-.endif
-
 CLEANFILES+=	${PROG}
 ${PROG}: ${OBJS} ${LIBKERN} ${LIBSA} ${LIBZ}
 	${_MKTARGET_LINK}
@@ -74,5 +61,7 @@ all: ${SREC}
 ${SREC}: ${PROG}
 	${OBJCOPY} -S -O srec ${PROG} ${SREC}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>
 .include <bsd.klinks.mk>

Index: src/sys/arch/hppa/stand/Makefile.buildboot
diff -u src/sys/arch/hppa/stand/Makefile.buildboot:1.2 src/sys/arch/hppa/stand/Makefile.buildboot:1.3
--- src/sys/arch/hppa/stand/Makefile.buildboot:1.2	Sun Feb 21 09:50:05 2016
+++ src/sys/arch/hppa/stand/Makefile.buildboot	Sat Apr  8 15:53:20 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.buildboot,v 1.2 2016/02/21 14:50:05 christos Exp $
+#	$NetBSD: Makefile.buildboot,v 1.3 2017/04/08 19:53:20 christos Exp $
 
 NODEBUG=yes
 RELOC=	120000
@@ -34,12 +34,7 @@ CFLAGS+=	-Os -msoft-float -Wno-main
 CFLAGS+=	-fno-builtin
 CFLAGS+=	-mdisable-fpregs -mfast-indirect-calls -mpa-risc-1-0
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version hppa ${NEWVERSWHAT}
+.include "${S}/conf/newvers_stand.mk"
 
 CPPFLAGS+=		-D_STANDALONE -Dhppa ${DEBUGFLAGS}
 CPPFLAGS+=		-DRELOC=0x${RELOC} -DHEAP_LIMIT=${HEAP_LIMIT}

Index: src/sys/arch/i386/stand/Makefile.booters
diff -u src/sys/arch/i386/stand/Makefile.booters:1.90 src/sys/arch/i386/stand/Makefile.booters:1.91
--- src/sys/arch/i386/stand/Makefile.booters:1.90	Sun Mar  8 15:47:17 2015
+++ src/sys/arch/i386/stand/Makefile.booters	Sat Apr  8 15:53:21 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.booters,v 1.90 2015/03/08 19:47:17 martin Exp $
+#	$NetBSD: Makefile.booters,v 1.91 2017/04/08 19:53:21 christos Exp $
 
 .include <bsd.own.mk>
 
@@ -47,8 +47,7 @@ LIBKERN_ARCH=i386
 KERNMISCMAKEFLAGS="LIBKERN_ARCH=i386"
 .endif
 
-CLEANFILES+= ${STARTFILE} vers.c ${BASE}.list
-SRCS+=	vers.c
+CLEANFILES+= ${STARTFILE} ${BASE}.list
 
 ### find out what to use for libkern
 KERN_AS=	library
@@ -80,8 +79,8 @@ LDFLAGS+=-Wl,-M -Wl,-e,start 	# -N does 
 
 LIBLIST=${LIBI386} ${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} ${LIBI386} ${LIBSA}
 
-vers.c: ${VERSIONFILE} ${SOURCES} ${S}/conf/newvers_stand.sh
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${VERSIONFILE} x86 ${NEWVERSWHAT}
+VERSIONMACHINE=x86
+.include "${S}/conf/newvers_stand.mk"
 
 CLEANFILES+= ${BASE}.sym
 ${BASE}.sym: ${STARTFILE} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386}

Index: src/sys/arch/i386/stand/boot/Makefile.boot
diff -u src/sys/arch/i386/stand/boot/Makefile.boot:1.69 src/sys/arch/i386/stand/boot/Makefile.boot:1.70
--- src/sys/arch/i386/stand/boot/Makefile.boot:1.69	Sat Jan 23 17:29:29 2016
+++ src/sys/arch/i386/stand/boot/Makefile.boot	Sat Apr  8 15:53:21 2017
@@ -1,19 +1,15 @@
-# $NetBSD: Makefile.boot,v 1.69 2016/01/23 22:29:29 christos Exp $
+# $NetBSD: Makefile.boot,v 1.70 2017/04/08 19:53:21 christos Exp $
 
 S=	${.CURDIR}/../../../../..
 
 NOMAN=
 PROG?= boot
 NEWVERSWHAT?= "BIOS Boot"
-VERSIONFILE?= ${.CURDIR}/../version
 
 AFLAGS.biosboot.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
 
 SOURCES?= biosboot.S boot2.c conf.c devopen.c exec.c
 SRCS= ${SOURCES}
-.if !make(depend)
-SRCS+= vers.c
-.endif
 
 PIE_CFLAGS=
 PIE_AFLAGS=
@@ -124,10 +120,10 @@ cleanlibdir:
 LIBLIST= ${LIBI386} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386} ${LIBSA}
 # LIBLIST= ${LIBSA} ${LIBKERN} ${LIBI386} ${LIBSA} ${LIBZ} ${LIBKERN}
 
-CLEANFILES+= ${PROG}.tmp ${PROG}.map ${PROG}.sym vers.c
+CLEANFILES+= ${PROG}.tmp ${PROG}.map ${PROG}.sym
 
-vers.c: ${VERSIONFILE} ${SOURCES} ${LIBLIST} ${.CURDIR}/../Makefile.boot
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${VERSIONFILE} x86 ${NEWVERSWHAT}
+VERSIONMACHINE=x86
+.include "${S}/conf/newvers_stand.mk"
 
 # Anything that calls 'real_to_prot' must have a %pc < 0x10000.
 # We link the program, find the callers (all in libi386), then

Index: src/sys/arch/i386/stand/efiboot/Makefile.efiboot
diff -u src/sys/arch/i386/stand/efiboot/Makefile.efiboot:1.7 src/sys/arch/i386/stand/efiboot/Makefile.efiboot:1.8
--- src/sys/arch/i386/stand/efiboot/Makefile.efiboot:1.7	Sat Feb 11 05:13:46 2017
+++ src/sys/arch/i386/stand/efiboot/Makefile.efiboot	Sat Apr  8 15:53:21 2017
@@ -1,11 +1,10 @@
-# $NetBSD: Makefile.efiboot,v 1.7 2017/02/11 10:13:46 nonaka Exp $
+# $NetBSD: Makefile.efiboot,v 1.8 2017/04/08 19:53:21 christos Exp $
 
 S=		${.CURDIR}/../../../../..
 
 NOMAN=		# defined
 PROG?=		boot.efi
 NEWVERSWHAT?=	"EFI Boot"
-VERSIONFILE?=	${.CURDIR}/../version
 
 AFLAGS.start.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
 
@@ -16,9 +15,6 @@ LIBI386SRCS+= panic.c parseutils.c pread
 LIBI386SRCS+= eficons.c efidelay.c efidisk.c efidisk_ll.c efigetsecs.c
 LIBI386SRCS+= efimemory.c
 SRCS= ${SOURCES} ${EXTRA_SOURCES} ${LIBI386SRCS}
-.if !make(depend)
-SRCS+= vers.c
-.endif
 
 PIE_CFLAGS=
 PIE_LDFLAGS=
@@ -107,10 +103,8 @@ cleanlibdir:
 
 LIBLIST= ${LIBGNUEFI} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBSA}
 
-CLEANFILES+= vers.c
-
-vers.c: ${VERSIONFILE} ${SOURCES} ${LIBLIST} ${.CURDIR}/../Makefile.efiboot
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${VERSIONFILE} x86 ${NEWVERSWHAT}
+VERSIONMACHINE=x86
+.include "${S}/conf/newvers_stand.mk"
 
 CLEANFILES+=	${PROG}.so ${PROG}.tmp
 

Index: src/sys/arch/ia64/stand/ia64/efi/Makefile
diff -u src/sys/arch/ia64/stand/ia64/efi/Makefile:1.4 src/sys/arch/ia64/stand/ia64/efi/Makefile:1.5
--- src/sys/arch/ia64/stand/ia64/efi/Makefile:1.4	Fri Aug  5 13:08:10 2016
+++ src/sys/arch/ia64/stand/ia64/efi/Makefile	Sat Apr  8 15:53:21 2017
@@ -1,9 +1,7 @@
-#	$NetBSD: Makefile,v 1.4 2016/08/05 17:08:10 scole Exp $	
+#	$NetBSD: Makefile,v 1.5 2017/04/08 19:53:21 christos Exp $	
 
 S=	${.CURDIR}/../../../../..
 
-VERSIONFILE= ${.CURDIR}/version
-
 .include "../Makefile.booters"
 
 PROGS=		loader.sym loader.efi
@@ -21,7 +19,7 @@ CPPFLAGS+=	-DLOADER -DLIBKERN_OPTIMISE_S
 .include "${.CURDIR}/../../common/Makefile.inc"
 
 # need to do this after common stuff pulled in
-SRCS.loader.sym:=	start.S conf.c efimd.c vers.c main.c ${SRCS}
+SRCS.loader.sym:=	start.S conf.c efimd.c main.c ${SRCS}
 
 # XXX verify
 BINDIR?=	/usr/mdec
@@ -31,14 +29,10 @@ LDFLAGS=	-Wl,-T${LDSCRIPT} -shared -symb
 
 loader.sym: ${LDSCRIPT}
 
-CLEANFILES+=	vers.c ${OBJS}
+CLEANFILES+=	${OBJS}
 
 NEWVERSWHAT=	"EFI boot" ${MACHINE_ARCH}
 
-vers.c: ${VERSIONFILE} ${SOURCES}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT}
-
 loader.efi: loader.sym
 	if [ `${OBJDUMP} -t loader.sym | fgrep '*UND*' | wc -l` != 0 ]; then \
 		${OBJDUMP} -t loader.sym | fgrep '*UND*'; \
@@ -60,4 +54,6 @@ DPADD=		${LIBEFI} ${LIBLIST}
 # Cross dependencies between LIBEFI and LIB(SA|KERN). Need to elaborate below.
 LDADD=		${LIBEFI} ${LIBLIST} ${LIBEFI} ${LIBLIST}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/ia64/stand/ia64/ski/Makefile
diff -u src/sys/arch/ia64/stand/ia64/ski/Makefile:1.6 src/sys/arch/ia64/stand/ia64/ski/Makefile:1.7
--- src/sys/arch/ia64/stand/ia64/ski/Makefile:1.6	Sat Dec 17 13:41:13 2016
+++ src/sys/arch/ia64/stand/ia64/ski/Makefile	Sat Apr  8 15:53:21 2017
@@ -1,7 +1,5 @@
 S=	${.CURDIR}/../../../../..
 
-VERSIONFILE= ${.CURDIR}/version
-
 .include "../Makefile.booters"
 
 NOPIE=		yes
@@ -13,7 +11,7 @@ STRIP=		# We must not strip skiload at i
 
 SRCS=		conf.c copy.c delay.c devicename.c efi_stub.c exit.c \
 		main.c skiconsole.c pal_stub.S sal_stub.c skifs.c ssc.c \
-		start.S time.c vers.c acpi_stub.c bootinfo.c exec.c
+		start.S time.c acpi_stub.c bootinfo.c exec.c
 
 CPPFLAGS+=	-DLOADER -DSKIFS
 CPPFLAGS+=	-I${S}
@@ -31,17 +29,15 @@ LDFLAGS=	-Wl,-T${LDSCRIPT} -symbolic -no
 
 ${PROG}: ${LDSCRIPT}
 
-CLEANFILES+=	vers.c skiload ${OBJS}
+CLEANFILES+=	skiload ${OBJS}
 
 NEWVERSWHAT=	"ia64 SKI boot" ${MACHINE_ARCH}
 
-vers.c: ${VERSIONFILE} ${SOURCES}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT}
-
 DPADD=		${LIBLIST}
 
 # Cross dependencies between LIB(SA|KERN). Need to elaborate below.
 LDADD=		${LIBLIST} ${LIBLIST}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/landisk/stand/boot/Makefile.boot
diff -u src/sys/arch/landisk/stand/boot/Makefile.boot:1.6 src/sys/arch/landisk/stand/boot/Makefile.boot:1.7
--- src/sys/arch/landisk/stand/boot/Makefile.boot:1.6	Wed Aug 21 03:08:30 2013
+++ src/sys/arch/landisk/stand/boot/Makefile.boot	Sat Apr  8 15:53:21 2017
@@ -1,18 +1,14 @@
-# $NetBSD: Makefile.boot,v 1.6 2013/08/21 07:08:30 matt Exp $
+# $NetBSD: Makefile.boot,v 1.7 2017/04/08 19:53:21 christos Exp $
 
 PROG?=		boot
 
 NEWVERSWHAT?=	"Boot"
-VERSIONFILE?=	${.CURDIR}/../version
 
 SRCS=	boot.S boot2.c bootinfo.c conf.c devopen.c monitor.c
 SRCS+=	delay.c getsecs.c
 SRCS+=	bios.S
 SRCS+=	biosdisk.c biosdisk_ll.c
 SRCS+=	scifcons.c cons.c prf.c
-.if !make(depend)
-SRCS+=	vers.c
-.endif
 
 LDFLAGS+=	-e boot_start
 
@@ -33,11 +29,8 @@ SAMISCMAKEFLAGS+="SA_ENABLE_LS_OP=yes"
 
 LIBLIST=	${LIBSA} ${LIBZ} ${LIBKERN}
 
-CLEANFILES+=	${PROG}.sym ${PROG}.map vers.c
+CLEANFILES+=	${PROG}.sym ${PROG}.map
 
-vers.c: ${VERSIONFILE} ${SOURCES} ${.CURDIR}/../Makefile.boot
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${VERSIONFILE} ${MACHINE} ${NEWVERSWHAT}
 
 ${PROG}: ${OBJS} ${LIBLIST}
 	${_MKTARGET_LINK}
@@ -45,4 +38,6 @@ ${PROG}: ${OBJS} ${LIBLIST}
 		-Map ${PROG}.map -cref ${OBJS} ${LIBLIST}
 	${OBJCOPY} -O binary ${PROG}.sym ${PROG}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/luna68k/stand/boot/Makefile
diff -u src/sys/arch/luna68k/stand/boot/Makefile:1.12 src/sys/arch/luna68k/stand/boot/Makefile:1.13
--- src/sys/arch/luna68k/stand/boot/Makefile:1.12	Sat Jan 16 23:40:10 2016
+++ src/sys/arch/luna68k/stand/boot/Makefile	Sat Apr  8 15:53:21 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.12 2016/01/17 04:40:10 tsutsui Exp $
+#	$NetBSD: Makefile,v 1.13 2017/04/08 19:53:21 christos Exp $
 #	@(#)Makefile	8.2 (Berkeley) 8/15/93
 
 NOMAN= # defined
@@ -59,9 +59,6 @@ PROG=   boot
 
 NEWVERSWHAT=	"${PROG}"
 
-SRCS+=          vers.c
-CLEANFILES+=    vers.c
-
 ### find out what to use for libkern
 KERN_AS=	library
 .include "${S}/lib/libkern/Makefile.inc"
@@ -77,10 +74,7 @@ SAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_
 
 LIBS=	${SALIB} ${ZLIB} ${KERNLIB}
 
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version ${MACHINE} ${NEWVERSWHAT}
+.include "${S}/conf/newvers_stand.mk"
 
 ${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
 	${LD} ${LINKFORMAT} -x -o ${PROG}.elf ${OBJS} ${LIBS}

Index: src/sys/arch/macppc/stand/ofwboot/Makefile
diff -u src/sys/arch/macppc/stand/ofwboot/Makefile:1.55 src/sys/arch/macppc/stand/ofwboot/Makefile:1.56
--- src/sys/arch/macppc/stand/ofwboot/Makefile:1.55	Tue Dec 23 19:36:09 2014
+++ src/sys/arch/macppc/stand/ofwboot/Makefile	Sat Apr  8 15:53:21 2017
@@ -1,10 +1,10 @@
-#	$NetBSD: Makefile,v 1.55 2014/12/24 00:36:09 matt Exp $
+#	$NetBSD: Makefile,v 1.56 2017/04/08 19:53:21 christos Exp $
 
 S=	${.CURDIR}/../../../..
 
 PROG=		ofwboot
 FILES=		${PROG}.elf ${PROG}.xcf
-SRCS=		Locore.c boot.c ofdev.c hfs.c net.c netif_of.c alloc.c vers.c
+SRCS=		Locore.c boot.c ofdev.c hfs.c net.c netif_of.c alloc.c
 XCOFFXTRA=	Xcoffxtra.c
 XCOFFXTRAOBJ=	Xcoffxtra.o
 CFLAGS+=	-ffreestanding
@@ -48,7 +48,7 @@ RELOC=		E00000
 
 ENTRY=		_start
 
-CLEANFILES+=	vers.c ${PROG}.elf ${PROG}.el1 ${PROG}.mrg ${PROG}.xcf
+CLEANFILES+=	${PROG}.elf ${PROG}.el1 ${PROG}.mrg ${PROG}.xcf
 
 CPPFLAGS+=	-I. -I${.CURDIR} -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
 CPPFLAGS+=	-DRELOC=0x${RELOC} -DRELOC_FLATFILE=0x${RELOC_FLATFILE}
@@ -77,10 +77,7 @@ cleandir distclean: .WAIT cleanlibdir
 cleanlibdir:
 	-rm -rf lib
 
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "macppc" ${NEWVERSWHAT}
+.include "${S}/conf/newvers_stand.mk"
 
 all realall: ${PROG} ${PROG}.xcf ${PROG}.elf
 

Index: src/sys/arch/mipsco/stand/Makefile.booters
diff -u src/sys/arch/mipsco/stand/Makefile.booters:1.23 src/sys/arch/mipsco/stand/Makefile.booters:1.24
--- src/sys/arch/mipsco/stand/Makefile.booters:1.23	Sun Sep 18 10:39:15 2016
+++ src/sys/arch/mipsco/stand/Makefile.booters	Sat Apr  8 15:53:21 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.booters,v 1.23 2016/09/18 14:39:15 christos Exp $
+#	$NetBSD: Makefile.booters,v 1.24 2017/04/08 19:53:21 christos Exp $
 
 NOMAN=		# defined
 NOPIE=		# defined
@@ -74,8 +74,9 @@ STRIPSECTIONS?= -R .reginfo -R .mdebug.a
 PROG=		${SECONDARY_PROG}
 LOAD_ADDRESS=	${SECONDARY_LOAD_ADDRESS}
 CPPFLAGS+=	-DSECONDARY_BOOTBLOCK
-SRCS+=	vers.c
-CLEANFILES+= vers.c
+
+.include "${S}/conf/newvers_stand.mk"
+
 .else
 
 .endif
@@ -109,11 +110,6 @@ LIBSA=		${SALIB}
 
 LIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
 
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    -N ${.CURDIR}/version "mipsco"
-
 ${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
 	${_MKTARGET_LINK}
 	${LD} ${OFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \

Index: src/sys/arch/mmeye/stand/boot/Makefile
diff -u src/sys/arch/mmeye/stand/boot/Makefile:1.4 src/sys/arch/mmeye/stand/boot/Makefile:1.5
--- src/sys/arch/mmeye/stand/boot/Makefile:1.4	Wed Jan 15 20:15:34 2014
+++ src/sys/arch/mmeye/stand/boot/Makefile	Sat Apr  8 15:53:21 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.4 2014/01/16 01:15:34 christos Exp $
+#	$NetBSD: Makefile,v 1.5 2017/04/08 19:53:21 christos Exp $
 
 NOMAN=		# defined
 
@@ -12,9 +12,8 @@ PROG=		boot
 SRCS=		entry.S
 SRCS+=		boot.c bootinfo.c clock.c conf.c cons.c devopen.c prf.c tgets.c
 SRCS+=		com.c scif.c wd.c wdc.c
-SRCS+=		vers.c
 
-CLEANFILES+=	vers.c ${PROG}
+CLEANFILES+=	${PROG}
 
 #MMEYE_CPU=	SH3
 MMEYE_CPU=	SH4
@@ -73,9 +72,6 @@ SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE
 .include "${S}/lib/libsa/Makefile.inc"
 LIBSA=		${SALIB}
 
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version "mmeye"
 
 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${LD} -N -Ttext ${RELOC} -Bstatic -e ${ENTRY} -o ${PROG} \
@@ -86,6 +82,8 @@ ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBK
 	    ${HOST_SH} $(.CURDIR)/deflate.sh ${.TARGET}.bin
 .endif
 
+.include "${S}/conf/newvers_stand.mk"
+
 cleandir distclean: .WAIT cleanlibdir
 
 cleanlibdir:

Index: src/sys/arch/mvme68k/stand/Makefile.booters
diff -u src/sys/arch/mvme68k/stand/Makefile.booters:1.25 src/sys/arch/mvme68k/stand/Makefile.booters:1.26
--- src/sys/arch/mvme68k/stand/Makefile.booters:1.25	Sun Jan 12 10:26:30 2014
+++ src/sys/arch/mvme68k/stand/Makefile.booters	Sat Apr  8 15:53:21 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.booters,v 1.25 2014/01/12 15:26:30 tsutsui Exp $
+#	$NetBSD: Makefile.booters,v 1.26 2017/04/08 19:53:21 christos Exp $
 
 S?=		${.CURDIR}/../../../..
 MDEC_DIR?=	/usr/mdec
@@ -31,13 +31,7 @@ LIBC=
 LIBCRTBEGIN=
 LIBCRTEND=
 
-.if exists(${.CURDIR}/version)
-SRCS+= vers.c
-CLEANFILES+= vers.c
-
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version "mvme68k"
-.endif
+.include "${S}/conf/newvers_stand.mk"
 
 .include <bsd.klinks.mk>
 

Index: src/sys/arch/mvmeppc/stand/Makefile.booters
diff -u src/sys/arch/mvmeppc/stand/Makefile.booters:1.14 src/sys/arch/mvmeppc/stand/Makefile.booters:1.15
--- src/sys/arch/mvmeppc/stand/Makefile.booters:1.14	Sun Jan 12 10:26:30 2014
+++ src/sys/arch/mvmeppc/stand/Makefile.booters	Sat Apr  8 15:53:21 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.booters,v 1.14 2014/01/12 15:26:30 tsutsui Exp $
+#	$NetBSD: Makefile.booters,v 1.15 2017/04/08 19:53:21 christos Exp $
 
 S?=		${.CURDIR}/../../../..
 MDEC_DIR?=	/usr/mdec
@@ -28,13 +28,7 @@ LIBC=
 LIBCRTBEGIN=
 LIBCRTEND=
 
-.if exists(${.CURDIR}/version)
-SRCS+= vers.c
-CLEANFILES+= vers.c
-
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version "mvmeppc"
-.endif
+.include "${S}/conf/newvers_stand.mk"
 
 .include <bsd.klinks.mk>
 

Index: src/sys/arch/news68k/stand/Makefile.inc
diff -u src/sys/arch/news68k/stand/Makefile.inc:1.10 src/sys/arch/news68k/stand/Makefile.inc:1.11
--- src/sys/arch/news68k/stand/Makefile.inc:1.10	Sun Jan 12 10:26:30 2014
+++ src/sys/arch/news68k/stand/Makefile.inc	Sat Apr  8 15:53:22 2017
@@ -1,20 +1,10 @@
-#	$NetBSD: Makefile.inc,v 1.10 2014/01/12 15:26:30 tsutsui Exp $
+#	$NetBSD: Makefile.inc,v 1.11 2017/04/08 19:53:22 christos Exp $
 
 BINDIR= /usr/mdec
 
 CFLAGS+= -ffreestanding
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists(version)
-.PHONY: vers.c
-vers.c: version
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version ${MACHINE}
-
-SRCS+=	vers.c
-CLEANFILES+= vers.c
-.endif
+.include "${S}/conf/newvers_stand.mk"
 
 # XXX SHOULD NOT NEED TO DEFINE THESE!
 LIBCRT0=

Index: src/sys/arch/newsmips/stand/Makefile.inc
diff -u src/sys/arch/newsmips/stand/Makefile.inc:1.9 src/sys/arch/newsmips/stand/Makefile.inc:1.10
--- src/sys/arch/newsmips/stand/Makefile.inc:1.9	Thu Jul 21 14:50:21 2016
+++ src/sys/arch/newsmips/stand/Makefile.inc	Sat Apr  8 15:53:22 2017
@@ -1,19 +1,9 @@
-#	$NetBSD: Makefile.inc,v 1.9 2016/07/21 18:50:21 christos Exp $
+#	$NetBSD: Makefile.inc,v 1.10 2017/04/08 19:53:22 christos Exp $
 
 BINDIR= /usr/mdec
 NOPIE=yes
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists(version)
-.PHONY: vers.c
-vers.c: version
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version ${MACHINE}
-SRCS+=  vers.c
-CLEANFILES+= vers.c
-.endif
+.include "${S}/conf/newvers_stand.mk"
 
 # XXX SHOULD NOT NEED TO DEFINE THESE!
 LIBCRT0=

Index: src/sys/arch/next68k/stand/boot/Makefile
diff -u src/sys/arch/next68k/stand/boot/Makefile:1.28 src/sys/arch/next68k/stand/boot/Makefile:1.29
--- src/sys/arch/next68k/stand/boot/Makefile:1.28	Sun Jan 12 10:26:30 2014
+++ src/sys/arch/next68k/stand/boot/Makefile	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.28 2014/01/12 15:26:30 tsutsui Exp $
+#	$NetBSD: Makefile,v 1.29 2017/04/08 19:53:22 christos Exp $
 
 NOMAN=	# defined
 
@@ -38,7 +38,7 @@ LIBCRTBEGIN=
 LIBCRTEND=
 
 PROG=	boot
-SRCS=   boot.c machdep.c conf.c devopen.c rtc.c sd.c scsi.c en.c vers.c build.c
+SRCS=   boot.c machdep.c conf.c devopen.c rtc.c sd.c scsi.c en.c build.c
 
 # @@@ dev_net.c should really be in libsa, but it doesn't
 # declare ip_convertaddr correctly, so I put it here _temporarily_.
@@ -46,7 +46,7 @@ SRCS=   boot.c machdep.c conf.c devopen.
 SRCS+=	dev_net.c
 
 CLEANFILES+= srt0.o boot.elf boot.raw limits.h
-CLEANFILES+= vers.c build.c build	# generated dynamically
+CLEANFILES+= build.c build	# generated dynamically
 
 BINDIR=	/usr/mdec
 #LIBS=	${SALIB} ${KERNLIB} ${ZLIB}
@@ -82,8 +82,7 @@ srt0.o: ${.CURDIR}/srt0.s
 build.c:
 	${HOST_SH} ${.CURDIR}/newvers.sh
 
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version "next68k"
+.include "${S}/conf/newvers_stand.mk"
 
 #installboot: ${.CURDIR}/installboot.sh
 #	@rm -f installboot

Index: src/sys/arch/ofppc/stand/ofwboot/Makefile
diff -u src/sys/arch/ofppc/stand/ofwboot/Makefile:1.31 src/sys/arch/ofppc/stand/ofwboot/Makefile:1.32
--- src/sys/arch/ofppc/stand/ofwboot/Makefile:1.31	Sun Aug 10 13:44:26 2014
+++ src/sys/arch/ofppc/stand/ofwboot/Makefile	Sat Apr  8 15:53:22 2017
@@ -1,11 +1,11 @@
-#	$NetBSD: Makefile,v 1.31 2014/08/10 17:44:26 joerg Exp $
+#	$NetBSD: Makefile,v 1.32 2017/04/08 19:53:22 christos Exp $
 
 S!=	cd ${.CURDIR}/../../../.. ; pwd
 
 PROG=		ofwboot
 NOMAN=		# defined
 SRCS=		ofwstart.S Locore.c boot.c ofdev.c net.c netif_of.c
-SRCS+=		mbr.c rdb.c vers.c
+SRCS+=		mbr.c rdb.c
 CFLAGS+=	${${ACTIVE_CC} == "gcc":? -msoft-float :}
 CFLAGS+=	-Wno-main -ffreestanding
 CFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
@@ -42,8 +42,6 @@ RELOC=		20000
 
 ENTRY=		_start
 
-CLEANFILES+=	vers.c
-
 CPPFLAGS+=	-I. -I${S} -I${S}/../common/include
 CPPFLAGS+=	-DRELOC=0x${RELOC}
 CPPFLAGS+=	-DFIRMWORKSBUGS
@@ -65,15 +63,12 @@ SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE
 .include "${S}/lib/libsa/Makefile.inc"
 LIBSA=		${SALIB}
 
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "ofppc" ${NEWVERSWHAT}
-
 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${_MKTARGET_LINK}
 	${LD} -s -N -T ${.CURDIR}/ldscript -Ttext ${RELOC} -Bstatic \
 	    -e ${ENTRY} -o ${PROG}.X ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	mv -f ${PROG}.X ${PROG}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/pmax/stand/Makefile.booters
diff -u src/sys/arch/pmax/stand/Makefile.booters:1.62 src/sys/arch/pmax/stand/Makefile.booters:1.63
--- src/sys/arch/pmax/stand/Makefile.booters:1.62	Sat Sep  3 07:34:47 2016
+++ src/sys/arch/pmax/stand/Makefile.booters	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.booters,v 1.62 2016/09/03 11:34:47 christos Exp $
+# $NetBSD: Makefile.booters,v 1.63 2017/04/08 19:53:22 christos Exp $
 
 NOMAN=		# defined
 NOPIE=		# defined
@@ -72,8 +72,9 @@ CHECKSIZE_CMD?=	SIZE=${SIZE} ${HOST_SH} 
 PROG=		${SECONDARY_PROG}
 LOAD_ADDRESS=	${SECONDARY_LOAD_ADDRESS}
 CPPFLAGS+=	-DSECONDARY_BOOTBLOCK
-SRCS+=	vers.c
-CLEANFILES+= vers.c
+
+.include "${S}/conf/newvers_stand.mk"
+
 .else
 # XXX ?
 .endif
@@ -106,10 +107,6 @@ LIBSA=		${SALIB}
 
 LIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
 
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    -N ${.CURDIR}/version "pmax"
-
 ${PROG}: ${OBJS} ${LIBS}
 	${LD} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \
 	    ${LDBUG} -e start -o ${PROG} ${OBJS} ${LIBS}

Index: src/sys/arch/prep/stand/boot/Makefile
diff -u src/sys/arch/prep/stand/boot/Makefile:1.29 src/sys/arch/prep/stand/boot/Makefile:1.30
--- src/sys/arch/prep/stand/boot/Makefile:1.29	Fri Aug  8 12:56:31 2014
+++ src/sys/arch/prep/stand/boot/Makefile	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.29 2014/08/08 16:56:31 joerg Exp $
+#	$NetBSD: Makefile,v 1.30 2017/04/08 19:53:22 christos Exp $
 
 NOMAN= # defined
 
@@ -21,7 +21,7 @@ NEWVERSWHAT=	"BOOT"
 SRCS= srt0.s
 SRCS+= boot.c clock.c com.c conf.c cons.c devopen.c
 SRCS+= filesystem.c inkernel.c io.c tgets.c prf.c monitor.c
-SRCS+= kbd.c ns16550.c vers.c vreset.c vga.c 
+SRCS+= kbd.c ns16550.c vreset.c vga.c 
 SRCS+= pci.c sd.c siop.c
 
 CFLAGS= -Os -ffreestanding
@@ -53,19 +53,17 @@ LIBCRTEND=
 
 RELOC= 0x800000
 
-CLEANFILES+= vers.c machine powerpc ${PROG}.elf
+CLEANFILES+= machine powerpc ${PROG}.elf
 
 LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a
 
-vers.c: ${.CURDIR}/../boot/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/../boot/version "prep" ${NEWVERSWHAT}
-
 ${PROG}: ${OBJS} ${LIBS}
 	${_MKTARGET_LINK}
 	${LD} -o ${PROG}.elf -N -T ${.CURDIR}/../boot/ld.script \
 		-Ttext ${RELOC} ${OBJS} ${LIBS}
 	${STRIP} -o ${PROG} ${PROG}.elf
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>
 .include <bsd.klinks.mk>

Index: src/sys/arch/rs6000/stand/boot/Makefile
diff -u src/sys/arch/rs6000/stand/boot/Makefile:1.7 src/sys/arch/rs6000/stand/boot/Makefile:1.8
--- src/sys/arch/rs6000/stand/boot/Makefile:1.7	Fri Aug  8 12:56:32 2014
+++ src/sys/arch/rs6000/stand/boot/Makefile	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.7 2014/08/08 16:56:32 joerg Exp $
+#	$NetBSD: Makefile,v 1.8 2017/04/08 19:53:22 christos Exp $
 
 NOMAN= # defined
 
@@ -22,7 +22,7 @@ NEWVERSWHAT=	"BOOT"
 SRCS= srt0.s
 SRCS+= boot.c clock.c com.c conf.c cons.c devopen.c
 SRCS+= filesystem.c inkernel.c io.c tgets.c prf.c monitor.c
-SRCS+= ns16550.c vers.c
+SRCS+= ns16550.c
 SRCS+= iplcb.c
 
 CFLAGS= -Os -ffreestanding
@@ -48,17 +48,13 @@ LIBCRTEND=
 RELOC= 0x800000
 #RELOC= 0x0
 
-CLEANFILES+= vers.c
-
 LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a
 
-vers.c: ${.CURDIR}/../boot/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/../boot/version "rs6000" ${NEWVERSWHAT}
-
 ${PROG}: ${OBJS} ${LIBS}
 	${_MKTARGET_LINK}
 	${LD} -o ${PROG} -s -N -T ${.CURDIR}/../boot/ld.script \
 		-Ttext ${RELOC} ${OBJS} ${LIBS}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/sandpoint/stand/altboot/Makefile
diff -u src/sys/arch/sandpoint/stand/altboot/Makefile:1.16 src/sys/arch/sandpoint/stand/altboot/Makefile:1.17
--- src/sys/arch/sandpoint/stand/altboot/Makefile:1.16	Sun Aug 10 13:46:54 2014
+++ src/sys/arch/sandpoint/stand/altboot/Makefile	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.16 2014/08/10 17:46:54 joerg Exp $
+#	$NetBSD: Makefile,v 1.17 2017/04/08 19:53:22 christos Exp $
 
 S=		${.CURDIR}/../../../..
 
@@ -8,8 +8,8 @@ NOMAN=		# defined
 SRCS=		entry.S main.c brdsetup.c pci.c devopen.c dev_net.c memfs.c
 SRCS+=		nif.c fxp.c tlp.c rge.c skg.c stg.c
 SRCS+=		dsk.c pciide.c siisata.c
-SRCS+=		exception.c vers.c
-CLEANFILES+=	vers.c ${PROG} ${PROG}.bin ${PROG}.img
+SRCS+=		exception.c
+CLEANFILES+=	${PROG} ${PROG}.bin ${PROG}.img
 CFLAGS+=	-Wall -Wno-main -ffreestanding
 CFLAGS+=	${${ACTIVE_CC} == "gcc":? -msoft-float :}
 CFLAGS+=	-Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
@@ -51,11 +51,6 @@ SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE
 .include "${S}/lib/libsa/Makefile.inc"
 LIBSA=		${SALIB}
 
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh -K \
-	    ${${MKREPRO} == "yes" :?:-D} ${.CURDIR}/version "sandpoint"
-
 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${_MKTARGET_LINK}
 	${LD} -N -Ttext ${RELOC} -Bstatic -e ${ENTRY} -o ${PROG} \
@@ -64,4 +59,7 @@ ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBK
 	${TOOL_MKUBOOTIMAGE} -A powerpc -T kernel -C none -O linux \
 	    -a 0x${RELOC} -n ${PROG} ${PROG}.bin ${PROG}.img
 
+VERSIONFLAGS+=-k
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/sbmips/stand/Makefile.bootprogs
diff -u src/sys/arch/sbmips/stand/Makefile.bootprogs:1.13 src/sys/arch/sbmips/stand/Makefile.bootprogs:1.14
--- src/sys/arch/sbmips/stand/Makefile.bootprogs:1.13	Wed Jan 15 20:15:34 2014
+++ src/sys/arch/sbmips/stand/Makefile.bootprogs	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.bootprogs,v 1.13 2014/01/16 01:15:34 christos Exp $
+# $NetBSD: Makefile.bootprogs,v 1.14 2017/04/08 19:53:22 christos Exp $
 
 .include <bsd.own.mk>
 .include <bsd.klinks.mk>
@@ -35,17 +35,8 @@ CWARNFLAGS+=	-Wno-main 
 CWARNFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
 CWARNFLAGS+=	-Wno-pointer-sign
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists(version)
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    -N ${.CURDIR}/version "sbmips"
-
-SRCS+=	vers.c
-CLEANFILES+= vers.c
-.endif
+VERSIONFLAGS+=-n
+.include "${S}/conf/newvers_stand.mk"
 
 # 
 # Refer to CFE documentation for a description of these regions.

Index: src/sys/arch/sgimips/stand/Makefile.booters
diff -u src/sys/arch/sgimips/stand/Makefile.booters:1.23 src/sys/arch/sgimips/stand/Makefile.booters:1.24
--- src/sys/arch/sgimips/stand/Makefile.booters:1.23	Thu Sep  8 10:43:48 2016
+++ src/sys/arch/sgimips/stand/Makefile.booters	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.booters,v 1.23 2016/09/08 14:43:48 christos Exp $
+# $NetBSD: Makefile.booters,v 1.24 2017/04/08 19:53:22 christos Exp $
 
 # PROG set by parent.
 NOMAN=		# defined
@@ -49,17 +49,7 @@ CPPFLAGS+=	-Dsgimips
 LOAD_ADDRESS?=		0x88002000
 LOAD_ADDRESS_IP32?=	0x80002000
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists(version)
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "sgimips"
-
-SRCS+=	vers.c
-CLEANFILES+= vers.c
-.endif
+.include "${S}/conf/newvers_stand.mk"
 
 ### find out what to use for libkern
 KERN_AS=	library

Index: src/sys/arch/sgimips/stand/boot64/Makefile
diff -u src/sys/arch/sgimips/stand/boot64/Makefile:1.13 src/sys/arch/sgimips/stand/boot64/Makefile:1.14
--- src/sys/arch/sgimips/stand/boot64/Makefile:1.13	Thu Sep  8 10:43:48 2016
+++ src/sys/arch/sgimips/stand/boot64/Makefile	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.13 2016/09/08 14:43:48 christos Exp $
+#	$NetBSD: Makefile,v 1.14 2017/04/08 19:53:22 christos Exp $
 
 PROG=	ip30boot
 NOMAN=	# defined
@@ -41,18 +41,6 @@ LINKFORMAT+=    -m elf64btsmip
 
 LOAD_ADDRESS_IP30?=	0xa800000020080000
 
-# if there is a 'version' file, add rule for vers.c and add it to SRCS
-# and CLEANFILES
-.if exists(version)
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "sgimips"
-
-SRCS+=	vers.c
-CLEANFILES+= vers.c
-.endif
-
 ### find out what to use for libkern
 KERN_AS=	library
 KERNMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
@@ -85,5 +73,7 @@ cleandir distclean: .WAIT cleanlibdir
 cleanlibdir:
 	-rm -rf lib
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.klinks.mk>
 .include <bsd.prog.mk>

Index: src/sys/arch/shark/stand/ofwboot/Makefile
diff -u src/sys/arch/shark/stand/ofwboot/Makefile:1.15 src/sys/arch/shark/stand/ofwboot/Makefile:1.16
--- src/sys/arch/shark/stand/ofwboot/Makefile:1.15	Sun Jan 12 10:26:31 2014
+++ src/sys/arch/shark/stand/ofwboot/Makefile	Sat Apr  8 15:53:22 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.15 2014/01/12 15:26:31 tsutsui Exp $
+#	$NetBSD: Makefile,v 1.16 2017/04/08 19:53:22 christos Exp $
 
 NOMAN=		# defined
 
@@ -9,7 +9,7 @@ S=		${.CURDIR}/../../../..
 
 WARNS=		2
 PROG=		ofwboot
-SRCS=		srt0.S Locore.c alloc.c boot.c ofdev.c net.c netif_of.c vers.c
+SRCS=		srt0.S Locore.c alloc.c boot.c ofdev.c net.c netif_of.c
 CFLAGS+=	-ffreestanding -Wno-main
 #CPPFLAGS+=	-DDEBUG -DNETIF_DEBUG
 CPPFLAGS+=	-DSUPPORT_DHCP -I${.CURDIR}
@@ -35,8 +35,6 @@ RELOC=		f0000000
 
 ENTRY=		_start
 
-CLEANFILES+=	vers.c
-
 CPPFLAGS+=	-nostdinc -I. -I${.CURDIR}/../../.. -I${S}
 CPPFLAGS+=	-DRELOC=0x${RELOC}
 CFLAGS+=	-fno-unwind-tables
@@ -60,15 +58,12 @@ SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE
 .include "${S}/lib/libsa/Makefile.inc"
 LIBSA=		${SALIB}
 
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "shark" ${NEWVERSWHAT}
-
 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${_MKTARGET_LINK}
 	${LD} -s -N -Ttext ${RELOC} -Bstatic -e ${ENTRY} -o ${.TARGET}.aout \
 	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${OBJCOPY} -O binary ${.TARGET}.aout ${.TARGET}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/sparc/stand/boot/Makefile
diff -u src/sys/arch/sparc/stand/boot/Makefile:1.39 src/sys/arch/sparc/stand/boot/Makefile:1.40
--- src/sys/arch/sparc/stand/boot/Makefile:1.39	Thu Mar 10 15:23:35 2016
+++ src/sys/arch/sparc/stand/boot/Makefile	Sat Apr  8 15:53:23 2017
@@ -1,11 +1,11 @@
-#	$NetBSD: Makefile,v 1.39 2016/03/10 20:23:35 martin Exp $
+#	$NetBSD: Makefile,v 1.40 2017/04/08 19:53:23 christos Exp $
 
 STRIPFLAG=
 PROGSOURCE=	boot.c net.c netif_sun.c conf.c openfirm.c bootinfo.c \
-		mmu.c prompatch.c vers.c
+		mmu.c prompatch.c
 NEWVERSWHAT=	"Secondary Boot"
 FILES=		boot.net bootjs.net ${RELOCS:S/^/boot./g}
-CLEANFILES:=	vers.c ${FILES}
+CLEANFILES:=	${FILES}
 LINKS=		${BINDIR}/boot.${RELOC_DEFAULT} ${BINDIR}/boot
 
 CPPFLAGS+=	-DBOOT_AOUT -DBOOT_ELF32 -DSUPPORT_DHCP
@@ -31,11 +31,6 @@ LINKFLAGS=-N -e start -Map [email protected]
 .MAIN: all
 realall: ${FILES}
 
-.PHONY: vers.c
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "sparc" ${NEWVERSWHAT}
-
 .for RELOC in ${RELOCS}
 boot.${RELOC}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${LD} -S -o ${.TARGET}.tmp ${LINKFLAGS} -Ttext ${RELOC} ${OBJS} \
@@ -60,4 +55,6 @@ bootjs.net: ${OBJS} ${LIBSA} ${LIBZ} ${L
 	${SIZE} ${.TARGET}
 CLEANFILES+=	bootjs.net.map
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/sparc/stand/ofwboot/Makefile
diff -u src/sys/arch/sparc/stand/ofwboot/Makefile:1.37 src/sys/arch/sparc/stand/ofwboot/Makefile:1.38
--- src/sys/arch/sparc/stand/ofwboot/Makefile:1.37	Sat Oct  1 09:57:44 2016
+++ src/sys/arch/sparc/stand/ofwboot/Makefile	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.37 2016/10/01 13:57:44 christos Exp $
+#	$NetBSD: Makefile,v 1.38 2017/04/08 19:53:23 christos Exp $
 
 .include <bsd.init.mk>
 
@@ -13,7 +13,7 @@ WARNS?=		2
 KLINK_MACHINE=	sparc64
 
 PROG?=		ofwboot
-SRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
+SRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c
 SRCS+=		bootinfo.c loadfile_machdep.c promlib.c prf.c isfloppy.c
 .if ${MACHINE_ARCH} == "sparc64"
 SRCS+=		hvcall.S
@@ -86,15 +86,11 @@ SAMISCCPPFLAGS+= -DCOMPAT_SOLARIS_UFS
 .include "${S}/lib/libsa/Makefile.inc"
 LIBSA=		${SALIB}
 
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.own.mk>
 .include <bsd.klinks.mk>
 
-vers.c: version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
-
-CLEANFILES+= vers.c
-
 .if CROSS
 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${_MKTARGET_LINK}

Index: src/sys/arch/sun68k/stand/libsa/Makefile.inc
diff -u src/sys/arch/sun68k/stand/libsa/Makefile.inc:1.3 src/sys/arch/sun68k/stand/libsa/Makefile.inc:1.4
--- src/sys/arch/sun68k/stand/libsa/Makefile.inc:1.3	Sat Jan 22 14:19:24 2011
+++ src/sys/arch/sun68k/stand/libsa/Makefile.inc	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.inc,v 1.3 2011/01/22 19:19:24 joerg Exp $
+#	$NetBSD: Makefile.inc,v 1.4 2017/04/08 19:53:23 christos Exp $
 
 S!=	cd ${SA_EXTRADIR}/../../../..; pwd
 
@@ -18,9 +18,5 @@ SRCS+=	ctrlsp.S
 .PATH.S: ${S}/../common/lib/libc/arch/m68k/gen
 SRCS+=	mulsi3.S divsi3.S udivsi3.S modsi3.S umodsi3.S
 
-vers.c: ${SA_EXTRADIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${SA_EXTRADIR}/version "${MACHINE}"
-
-SRCS+=	vers.c
-CLEANFILES+=	vers.c
+VERSIONFILE=${SA_EXTRADIR}/vers
+.include "${S}/conf/newvers_stand.mk"

Index: src/sys/arch/vax/boot/boot/Makefile
diff -u src/sys/arch/vax/boot/boot/Makefile:1.44 src/sys/arch/vax/boot/boot/Makefile:1.45
--- src/sys/arch/vax/boot/boot/Makefile:1.44	Sat Jan 16 23:53:16 2016
+++ src/sys/arch/vax/boot/boot/Makefile	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.44 2016/01/17 04:53:16 tsutsui Exp $
+#	$NetBSD: Makefile,v 1.45 2017/04/08 19:53:23 christos Exp $
 
 S=	${.CURDIR}/../../../..
 
@@ -7,7 +7,7 @@ S=	${.CURDIR}/../../../..
 PROG=	boot
 DEVS=	hp.c ctu.c ra.c mfm.c if_qe.c if_le.c if_ze.c if_de.c if_ni.c
 SRCS=	srt0.S boot.c devopen.c conf.c autoconf.c netio.c rom.c romread.S \
-	consio.c consio2.S str.S ${DEVS} findcpu.c vers.c
+	consio.c consio2.S str.S ${DEVS} findcpu.c
 
 # XXX SHOULD NOT NEED TO DEFINE THESE!
 LIBC=
@@ -16,7 +16,7 @@ LIBCRTI=
 LIBCRTBEGIN=
 LIBCRTEND=
 
-CLEANFILES+=${PROG} ${PROG}.sym vers.c
+CLEANFILES+=${PROG} ${PROG}.sym
 # XXX - hack, doesn't work with -O2 and gcc 4.8
 CFLAGS+=-O1
 CPPFLAGS+=-DSUPPORT_BOOTPARAMS -DSUPPORT_BOOTP -DSUPPORT_DHCP -D_STANDALONE \
@@ -40,11 +40,6 @@ KERN_AS=library
 .include "${S}/lib/libkern/Makefile.inc"
 LIBKERN=${KERNLIB}
 
-.PHONY: vers.c
-vers.c: ${.CURDIR}/version
-	${HOST_SH} ${S}/conf/newvers_stand.sh -N ${${MKREPRO} == "yes" :?:-D} \
-	    ${.CURDIR}/version "${MACHINE}"
-
 ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${_MKTARGET_LINK}
 	${LD} -N -Ttext ${RELOC} -e nisse -o ${PROG}.sym ${OBJS} \
@@ -55,4 +50,7 @@ install:
 	${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m 555 \
 		${PROG} ${DESTDIR}${MDEC_DIR}/${PROG}
 
+VERSIONFLAGS+=-n
+.include "${S}/conf/newvers_stand.mk"
+
 .include <bsd.prog.mk>

Index: src/sys/arch/x68k/stand/boot/Makefile
diff -u src/sys/arch/x68k/stand/boot/Makefile:1.27 src/sys/arch/x68k/stand/boot/Makefile:1.28
--- src/sys/arch/x68k/stand/boot/Makefile:1.27	Sat Jun 25 10:35:58 2016
+++ src/sys/arch/x68k/stand/boot/Makefile	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.27 2016/06/25 14:35:58 isaki Exp $
+#	$NetBSD: Makefile,v 1.28 2017/04/08 19:53:23 christos Exp $
 
 NOMAN=		# defined
 
@@ -31,12 +31,7 @@ COMMONDIR=	$M/stand/common
 .PATH:		${COMMONDIR}
 .PATH:		${.CURDIR}/../boot
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-vers.c:	${VERSIONFILE}
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh \
-	    ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT}
+.include "${S}/conf/newvers_stand.mk"
 
 CPPFLAGS+=	-nostdinc -I$S -I${.OBJDIR} -I$M/stand/libsa
 CPPFLAGS+=	-I$M/stand/libiocs -I${COMMONDIR}

Index: src/sys/arch/x68k/stand/boot_ufs/Makefile
diff -u src/sys/arch/x68k/stand/boot_ufs/Makefile:1.29 src/sys/arch/x68k/stand/boot_ufs/Makefile:1.30
--- src/sys/arch/x68k/stand/boot_ufs/Makefile:1.29	Mon Aug 12 12:34:05 2013
+++ src/sys/arch/x68k/stand/boot_ufs/Makefile	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.29 2013/08/12 16:34:05 joerg Exp $
+#	$NetBSD: Makefile,v 1.30 2017/04/08 19:53:23 christos Exp $
 
 NOMAN=		# defined
 
@@ -30,12 +30,7 @@ LIBIOCS=	$M/stand/libiocs
 SRCS=	boot.S bootmain.c readufs.c readufs_ffs.c readufs_lfs.c
 SRCS+=	exec_image.S memset.S strcmp.S
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-vers.c:	${VERSIONFILE}
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh \
-	    ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT}
+.include "${S}/conf/newvers_stand.mk"
 
 CFLAGS=	-Os -fomit-frame-pointer -fno-unwind-tables
 CFLAGS+= -m68020-60

Index: src/sys/arch/x68k/stand/boot_ustar/Makefile
diff -u src/sys/arch/x68k/stand/boot_ustar/Makefile:1.23 src/sys/arch/x68k/stand/boot_ustar/Makefile:1.24
--- src/sys/arch/x68k/stand/boot_ustar/Makefile:1.23	Sat Jun 25 10:35:58 2016
+++ src/sys/arch/x68k/stand/boot_ustar/Makefile	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.23 2016/06/25 14:35:58 isaki Exp $
+#	$NetBSD: Makefile,v 1.24 2017/04/08 19:53:23 christos Exp $
 
 NOMAN=		# defined
 
@@ -27,12 +27,8 @@ COMMONDIR=	$M/stand/common
 LIBIOCS=	$M/stand/libiocs
 SRCS=	boot_ustar.S
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-vers.c:	${VERSIONFILE}
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh \
-	    ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT}
+
+.include "${S}/conf/newvers_stand.mk"
 
 CPPFLAGS+= -DTEXTADDR="0x$(TEXT)" -DBOOT_TEXTADDR="0x$(BOOT_TEXT)"
 CPPFLAGS+= -DBOOT_MAXSIZE="$(BOOT_MAXSIZE)"

Index: src/sys/arch/x68k/stand/xxboot/Makefile.xxboot
diff -u src/sys/arch/x68k/stand/xxboot/Makefile.xxboot:1.3 src/sys/arch/x68k/stand/xxboot/Makefile.xxboot:1.4
--- src/sys/arch/x68k/stand/xxboot/Makefile.xxboot:1.3	Fri Aug  8 11:20:10 2014
+++ src/sys/arch/x68k/stand/xxboot/Makefile.xxboot	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.xxboot,v 1.3 2014/08/08 15:20:10 isaki Exp $
+#	$NetBSD: Makefile.xxboot,v 1.4 2017/04/08 19:53:23 christos Exp $
 
 NOMAN=		# defined
 
@@ -26,11 +26,7 @@ M=		$S/arch/x68k
 .PATH:		${.CURDIR}/..
 SRCS=	boot.S bootmain.c conf.c consio1.c $(DEVDRV).c
 
-SRCS+=		vers.c
-CLEANFILES+=	vers.c
-vers.c:	${VERSIONFILE}
-	${_MKTARGET_CREATE}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT}
+.include "${S}/conf/newvers_stand.mk"
 
 CFLAGS=	-Os -fomit-frame-pointer -fno-unwind-tables
 #CFLAGS+= -Wall

Index: src/sys/arch/zaurus/stand/zboot/Makefile
diff -u src/sys/arch/zaurus/stand/zboot/Makefile:1.19 src/sys/arch/zaurus/stand/zboot/Makefile:1.20
--- src/sys/arch/zaurus/stand/zboot/Makefile:1.19	Wed Feb 22 07:51:38 2017
+++ src/sys/arch/zaurus/stand/zboot/Makefile	Sat Apr  8 15:53:23 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.19 2017/02/22 12:51:38 maya Exp $
+#	$NetBSD: Makefile,v 1.20 2017/04/08 19:53:23 christos Exp $
 
 PROG=		zboot
 
@@ -27,8 +27,6 @@ CPUFLAGS=
 AFLAGS+=	-D_LOCORE
 LDFLAGS+=	-nostdlib -Bstatic
 
-CLEANFILES+=	vers.c vers.o
-
 LIBCRT0=	crt0.o
 LIBCRTI=	# nothing
 LIBC=		# nothing
@@ -36,7 +34,6 @@ LIBCRTBEGIN=	# nothing
 LIBCRTEND=	# nothing
 
 NEWVERSWHAT?=   "Boot"
-VERSIONFILE?=	${.CURDIR}/version
 
 ### find out what to use for libkern
 KERN_AS=	library
@@ -54,12 +51,11 @@ SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE
 .include "${S}/lib/libsa/Makefile.inc"
 LIBSA=		${SALIB}
 
-${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${VERSIONFILE}
+${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
 	${_MKTARGET_LINK}
-	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
-	    ${VERSIONFILE} zaurus ${NEWVERSWHAT}
-	${CC} ${CFLAGS} ${CPPFLAGS} -c vers.c
-	${LD} ${LDFLAGS} -o ${PROG} ${OBJS} vers.o ${LIBSA} ${LIBZ} ${LIBKERN}
+	${LD} ${LDFLAGS} -o ${PROG} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
+
+.include "${S}/conf/newvers_stand.mk"
 
 .include <bsd.klinks.mk>
 .include <bsd.prog.mk>

Reply via email to