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
+ }
+
--
⑨