shithub: fork

Download patch

ref: 833fe7ebf461d90ffbef990c46dd9a670c35a1ba
parent: 4ee8c1580c81d927c2a87baccaf2c875ae89f751
author: qwx <qwx@sciops.net>
date: Tue Aug 5 06:07:45 EDT 2025

mk: global safeinstall targets

to stash the patch in history; now useless

--- /dev/null
+++ b/sys/src/cmd/audio/flacdec/mkfile
@@ -1,0 +1,10 @@
+</$objtype/mkfile
+<../config
+
+TARG=flacdec
+OFILES=flacdec.$O ../libFLAC/libFLAC.a$O
+
+</sys/src/cmd/mkone
+
+CC=pcc
+CFLAGS=$CFLAGS -c -I. -I../libFLAC -I../libFLAC/FLAC -D_POSIX_SOURCE -D_BSD_EXTENSION -DPlan9
--- /dev/null
+++ b/sys/src/cmd/audio/flacenc/mkfile
@@ -1,0 +1,10 @@
+</$objtype/mkfile
+<../config
+
+TARG=flacenc
+OFILES=flacenc.$O ../libFLAC/libFLAC.a$O
+
+</sys/src/cmd/mkone
+
+CC=pcc
+CFLAGS=$CFLAGS -c -I. -I../libFLAC -I../libFLAC/FLAC -D_POSIX_SOURCE -D_BSD_EXTENSION -DPlan9 -c
--- /dev/null
+++ b/sys/src/cmd/audio/mkfile
@@ -1,0 +1,72 @@
+</$objtype/mkfile
+
+LIBS=libogg libvorbis libFLAC libtags
+PROGS=pcmconv oggdec oggenc mp3dec mp3enc flacdec flacenc wavdec sundec mixfs readtags zuke scream
+#libs must be made first
+DIRS=$LIBS $PROGS
+
+all:V:
+	for (i in $DIRS) @{
+		cd $i
+		mk all
+	}
+
+clean:V:
+	for (i in $DIRS) @{
+		cd $i
+		mk clean
+	}
+
+nuke:V:
+	for (i in $LIBS) @{
+		cd $i
+		mk nuke
+	}
+	for (i in $PROGS) @{
+		cd $i
+		mk clean
+	}
+
+install:V:
+	mkdir -p $BIN
+	for (i in $DIRS) @{
+		cd $i
+		mk install
+	}
+
+safeinstall:V:
+	mkdir -p $BIN
+	for (i in $DIRS) @{
+		cd $i
+		mk safeinstall
+	}
+
+installall:V:
+	for (i in $DIRS) @{
+		cd $i
+		mk installall
+	}
+	for (i in $DIRS) @{
+		cd $i
+		mk clean
+	}
+
+safeinstallall:V:
+	for (i in $LIBS) @{
+		cd $i
+		mk installall
+	}
+	for (i in $PROGS) @{
+		cd $i
+		mk safeinstallall
+	}
+	for (i in $DIRS) @{
+		cd $i
+		mk clean
+	}
+
+test:V:
+	for (i in $DIRS) @{
+		cd $i
+		mk test
+	}
--- /dev/null
+++ b/sys/src/cmd/audio/oggdec/mkfile
@@ -1,0 +1,10 @@
+</$objtype/mkfile
+<../config
+
+OFILES=oggdec.$O
+TARG=oggdec
+
+</sys/src/cmd/mkone
+
+CC=pcc
+CFLAGS=$CFLAGS -c -I../libvorbis -I../libogg -D_POSIX_SOURCE
--- /dev/null
+++ b/sys/src/cmd/audio/oggenc/mkfile
@@ -1,0 +1,10 @@
+</$objtype/mkfile
+<../config
+
+TARG=oggenc
+OFILES=oggenc.$O
+
+</sys/src/cmd/mkone
+
+CC=pcc
+CFLAGS=$CFLAGS -c -I../libvorbis -I../libogg
--- /dev/null
+++ b/sys/src/cmd/mkfile
@@ -1,0 +1,88 @@
+</$objtype/mkfile
+
+YTARG=`{ls | sed -n '/\.y$/s/\.y$//p'}
+TARG=$YTARG `{ls | sed -n '/^cp\.c$/d; /^yacc\.c$/d; /\.c$/s/\.c$//p'}
+HFILES=/$objtype/include/u.h /sys/include/libc.h /sys/include/bio.h
+
+BIN=/$objtype/bin
+LDFLAGS=
+YFLAGS=-d
+
+PCONLY=vmx
+POWERLESS=dtracy  # until someone fixes the build for power
+NOMK=$NOMK test `{~ $objtype (386 amd64) || echo $PCONLY} `{~ $objtype power && echo $POWERLESS}
+DIRS=`{echo */mkfile | sed 's,/mkfile *,\n,g' | grep -v '-e^'^('' $NOMK)^'$'}
+
+usage:VQ:
+	echo 'usage: mk all, all.cpus, cmds, $O.$cmd'
+	echo '	install, install.cpus, $cmd.install, $cmd.install.cpus'
+	echo '	clean, nuke'
+
+%.c %.tab.h:D: %.y
+	yacc $YFLAGS -o $stem.c -s $stem $stem.y
+
+%.$O: $HFILES
+
+%.$O: %.c
+	$CC $CFLAGS $stem.c
+
+$O.%: %.$O
+	$LD $LDFLAGS -o $target $stem.$O
+
+$BIN/%: $O.%
+	cp $O.$stem $target
+
+$BIN/cp: $O.cp
+	`{if(~ $objtype $cputype) echo ./$O.cp; if not echo cp} $prereq $target
+
+$BIN/init: $O.init  # hack, install location is not target
+	cp $O.init /$objtype/init
+
+%.acid: %.c $HFILES
+	$CC $CFLAGS -a $stem.c >$target
+
+%.cpus:V:
+	for(objtype in $CPUS) mk $MKFLAGS $stem
+
+%.dirs:V:
+	for(i in $DIRS) @{
+		cd $i
+		echo mk $i
+		mk $MKFLAGS $stem
+	}
+
+%.tests:V:
+	@{cd test && mk $MKFLAGS $stem}
+
+cmds:V: $O.cp $O.yacc ${TARG:%=$O.%}
+
+all:V: cmds
+	mk $MKFLAGS all.dirs
+
+%.install:V: $BIN/%
+
+install:V: cp.install
+	mk $MKFLAGS yacc.install
+	mk $MKFLAGS $TARG.install
+	mk $MKFLAGS install.dirs
+
+%.safeinstall:V: $BIN/%
+
+safeinstall:V: cp.safeinstall
+	mk $MKFLAGS yacc.safeinstall
+	mk $MKFLAGS $TARG.safeinstall
+	mk $MKFLAGS safeinstall.dirs
+
+installall:V: install.cpus
+
+cleancmds:V:
+	rm -f *.[$OS] [$OS].* y.tab.? y.debug y.output $YTARG.c *.tab.h
+
+clean:V: cleancmds clean.dirs clean.tests
+
+nuke:V: cleancmds nuke.dirs
+	rm -f *.acid
+
+test.dirs test.tests:V: cmds
+
+test:VQ: test.dirs test.tests
--- /dev/null
+++ b/sys/src/cmd/mklib
@@ -1,0 +1,56 @@
+AFLAGS=
+YFLAGS=-d
+
+LIBOBJ=${OFILES:%=$LIB(%)}
+LIBDIR=.
+
+default:V:	$LIB
+
+all:V:	$LIB
+
+$LIB:	$LIBOBJ
+	ar vu $LIB $newmember
+
+%.$O:	$HFILES		# don't combine with following %.$O rules
+
+%.$O:	%.c
+	$CC $CFLAGS $stem.c
+
+%.$O:	%.s
+	$AS $AFLAGS $stem.s
+
+y.tab.h y.tab.c:	$YFILES
+	yacc $YFLAGS $prereq
+
+$LIB(%.$O):N:	%.$O
+
+install:VQ:	$LIB
+	~ $LIBDIR '.' || cp $LIB $LIBDIR/$LIB
+
+safeinstall:VQ: install
+
+installall:V:
+	for (objtype in $CPUS)
+		mk install
+
+%.all:V:
+	for (objtype in $CPUS)
+		mk $stem
+
+nuke:V:
+	rm -f *.[$OS] y.tab.? y.output y.error $CLEANFILES $LIB
+
+clean:V:
+	rm -f *.[$OS] *.a[$OS] y.tab.? y.output y.error $CLEANFILES
+
+%.acid:V:
+	$CC $CFLAGS -a `{basename $stem .$objtype}^.c >$target
+
+update:V:
+	update $UPDATEFLAGS $UPDATE
+
+test:VQ: $LIB
+	if(test -d ./test)
+		cd test && mk $MKFLAGS test
+	if not
+		status=()
--- /dev/null
+++ b/sys/src/cmd/postscript/cropmarks/mkfile
@@ -1,0 +1,24 @@
+</$objtype/mkfile
+
+<../config
+
+all:V:	cropmarks
+
+default:V:	cropmarks
+
+install safeinstall:V:	$POSTBIN/cropmarks $POSTLIB/cropmarks.ps
+
+installall safeinstallall:V:	install
+
+$POSTLIB/cropmarks.ps:	cropmarks.ps
+	cp $prereq $target
+
+$POSTBIN/cropmarks:	cropmarks
+	cp $prereq $target
+
+cropmarks:	cropmarks.rc
+	sed 's?^POSTLIB=.*?POSTLIB='$POSTLIB'?' cropmarks.rc >cropmarks
+	chmod 775 cropmarks
+
+clean nuke:V:
+	rm -f cropmarks
--- /dev/null
+++ b/sys/src/cmd/postscript/grabit/mkfile
@@ -1,0 +1,22 @@
+</$objtype/mkfile
+
+<../config
+
+all:V:	grabit
+
+install safeinstall:V:	$POSTBIN/grabit $POSTLIB/grabit.ps
+
+installall safeinstallall:V:	install
+
+$POSTBIN/grabit:	grabit
+	cp $prereq $target
+
+$POSTLIB/grabit.ps:	grabit.ps
+	cp $prereq $target
+
+grabit:	grabit.rc
+	sed 's?^POSTLIB=.*?POSTLIB='$POSTLIB'?' grabit.rc >grabit
+	chmod 775 grabit
+
+clean nuke:V:
+	rm -f grabit
--- /dev/null
+++ b/sys/src/cmd/postscript/hardcopy/mkfile
@@ -1,0 +1,22 @@
+</$objtype/mkfile
+
+<../config
+
+all:V:	hardcopy
+
+install safeinstall:V:	$POSTBIN/hardcopy $POSTLIB/hardcopy.ps
+
+installall safeinstallall:V:	install
+
+$POSTBIN/hardcopy:	hardcopy
+	cp $prereq $target
+
+$POSTLIB/hardcopy.ps:	hardcopy.ps
+	cp $prereq $target
+
+hardcopy:	hardcopy.rc
+	sed 's?^POSTLIB=.*?POSTLIB='$POSTLIB'?' hardcopy.rc >hardcopy
+	chmod 775 hardcopy
+
+clean nuke:V:
+	rm -f hardcopy
--- /dev/null
+++ b/sys/src/cmd/postscript/mpictures/mkfile
@@ -1,0 +1,20 @@
+</$objtype/mkfile
+
+<../config
+
+TMACDIR=/sys/lib/tmac
+
+all:V:	tmac.pictures
+
+install safeinstall:V:	$TMACDIR/tmac.pictures
+
+installall safeinstallall:V: install
+
+clean nuke:V:
+	rm -f tmac.pictures
+
+$TMACDIR/tmac.pictures:	tmac.pictures
+	cp $prereq $target
+
+tmac.pictures : pictures.sr
+	cp $prereq $target
--- /dev/null
+++ b/sys/src/cmd/postscript/printfont/mkfile
@@ -1,0 +1,24 @@
+</$objtype/mkfile
+
+<../config
+
+POSTBIN=/rc/bin
+
+all:V:	printfont
+
+install safeinstall:V:	$POSTBIN/printfont $POSTLIB/printfont.ps
+
+installall safeinstallall:V: install
+
+clean nuke:V:
+	rm -f printfont
+
+$POSTBIN/printfont:	printfont
+	cp $prereq $target
+
+$POSTLIB/printfont.ps:	printfont.ps
+	cp $prereq $target
+
+printfont:	printfont.rc
+	sed 's?^POSTLIB=.*?POSTLIB='$POSTLIB'?' printfont.rc >printfont
+	chmod 775 printfont
--- /dev/null
+++ b/sys/src/cmd/postscript/psencoding/mkfile
@@ -1,0 +1,24 @@
+</$objtype/mkfile
+
+<../config
+
+POSTBIN=$ROOT/rc/bin/postscript
+
+all:V:	psencoding
+
+install safeinstall:V:	$POSTBIN/psencoding $POSTLIB/Latin1.enc $POSTLIB/UTF.enc
+
+installall safeinstallall:V: install
+
+clean nuke:V:
+	rm -f psencoding
+
+$POSTBIN/psencoding:	psencoding
+	cp $prereq $target
+
+$POSTLIB/%.enc:	%.enc
+	cp $prereq $target
+
+psencoding:	psencoding.rc
+	sed 's?^POSTLIB=.*?POSTLIB='$POSTLIB'?' psencoding.rc >psencoding
+	chmod 775 psencoding
--- /dev/null
+++ b/sys/src/cmd/postscript/psfiles/mkfile
@@ -1,0 +1,12 @@
+</$objtype/mkfile
+
+<../config
+
+all:VQ:
+	;
+
+install installall safeinstall safeinstallall:V:
+	cp *.ps ps.* $POSTLIB
+
+clean nuke:VQ:
+	;
--- /dev/null
+++ b/sys/src/cmd/upas/mkfile
@@ -1,0 +1,56 @@
+</$objtype/mkfile
+
+LIBS=common
+PROGS=\
+	Mail\
+	alias\
+	bayes\
+	binscripts\
+	dkim\
+	filterkit\
+	fs\
+	imap4d\
+	marshal\
+	ml\
+	ned\
+	pop3\
+	q\
+	scanmail\
+	send\
+	smtp\
+	spf\
+	unesc\
+	vf\
+
+#libs must be made first
+DIRS=$LIBS $PROGS
+
+default:V:
+	mk all
+
+all install safeinstall installall clean nuke:V:
+	for (i in $DIRS) @{
+		cd $i
+		mk $target
+	}
+
+safeinstallall:V:
+	for (i in $LIBS) @{
+		cd $i
+		mk installall
+	}
+	for (i in $PROGS) @{
+		cd $i
+		mk safeinstallall
+	}
+
+test:V:
+	for (i in $LIBS) @{
+		cd $i
+		mk test
+	}
+	for (i in $PROGS) @{
+		cd $i
+		mk test
+	}
+
--