Added MACGEN and MACGEN_FLAGS macros.
binrules.mk:
Added a (normally empty) macro "LOCAL_SETUP" to the build target.
If a utility needs a special target to be done prior to the
main build, then it sets this macro to be that special target(s).
paths.mk:
Added some comments on the OBJ_DIR directory.
- Fixed a problem reported by Derek where stack trashing
was happening once an EOF was reached. This was actually
only one example of a class of problems; any time __svfscanf
returned before filling all the requested arguments, va_arg
was left uncalled for some set of arguments. This has been
fixed by adding a "stack cleanup" section to the code where
va_arg is called once for each remaining argument.
- The __svfscanf routine still had large arrays on the stack.
These have been changed to static storage class. There is
currently an assert in place to assure that recursion isn't
happening since I didn't have the chance yet to verify in
detail the control flow here. This assert (and the related
use of the "recursing" variable) can be removed after such
a verification.
- specify files via SRCS vice OBJS. This eliminates an extraneous
".o" in the final OBJS value.
- don't attempt to attach a rez fork (leave it for the upper
level makefile)
- move generated macro file to /obj hierarchy
Makefile:
- fix location of (non-generated) macro sources
- specify files via SRCS vice OBJS. This eliminates an extraneous
".o" in the final OBJS value.
- don't attempt to attach a rez fork (leave it for the upper
level makefile)
- eliminate double concatenation of resource fork
- specify files via SRCS vice OBJS
- obtain the assert object file from where it is built in
the ORCA hierarchy
libc.rez:
- add build date to displayed data
- stack size is 1024, not 768
- name of file is prog.mk, not gno.prog.mk
- remove version number and date string at beginning, since it
is updated in the id string
- The describe-submit address is now active. In fact, it has
been for some time; I just forgot to remove from this page
the note saying that it was not.
- backed out v1.4 changes
- replace .asm (as well as .c) suffixes with .o for OBJS definition
- added a recipe for building ProDOS renamed object files
- changed definition of OBJS to remove the full pathnames
and to add to previous values of OBJS rather than to act
as a default value
binrules.mk:
- backed out all v1.5 changes except for using $(MAINSRC)
vice $(MAIN).c
- added a recipe for building ProDOS-renamed object files
paths.mk:
- backed out v1.6 changes
- added a macro, PRODOS_OBJS. If this is set to "true", then
ProDOS-compliant file names will be used for object files.
- with the modified binrules.mk, we don't need the .SOURCE
directives.
binconst.mk:
- change the definition of OBJS somewhat so that they are
always fully pathed in the $(OBJ_DIR) directory
- for utils with both BSD and GNO man pages, make sure we
install the GNO one
- conditionally define MAINSRC so that we can override it
if necessary. By default MAINSRC is $(MAIN).c
binrules.mk:
- don't assume MAINSRC is $(MAIN).c
- don't assume the compiled rez fork is in the current directory
- add default target for creating object files in the $(OBJ_DIR)
directory
- don't relink the executable if it just needs a new resource fork
binrelease.mk:
- changed targets to allow for the BSD/GNO man page duality
- assume the built program is in the $(OBJ_DIR)
- eliminate describe actions from the 'install' target
prog.mk:
- don't include binrules.mk if CUSTOM_RULES is defined and
non-NULL.
- modifications to allow the object files to be in the /obj
hierarchy.
- rename the object files during the build such that they can
reside on a ProDOS partition. An unfortunate consequence of
this is the requirement in this file for explicit recipes for
any of the renamed object files.
libnetdb.rez:
- add an rVersion for the final library
- fix definition of OBJS such that they can be placed in the /obj
hierarchy. Also added some more default targets for the same
purpose.
- added in a rule to append an rVersion resource to the library,
unless the NO_REZ macro is set in the makefile
- make all object files have ProDOS file names. This doesn't
affect source files.
- install GNO version of man page rather than the BSD one.
ftp.1G
- fixed up some register interpolations that made the GNO
nroff puke
- put cksum in /usr/bin vice /bin
cksum.1:
- added "sum" to the NAME section so that whatis(1) gets a hit
cksum.rez:
- added (initial test) of automatically displaying the build
date.
mkso.data:
- used for making man page ".so links"
mklink.data:
- used to replicate cksum(1) as sum(1)
- assume the program under test is in the /obj hierarchy rather
than the parent directory
fulltests:
- use tr(1) out of /dist/bin instead of the /src directory
- basename(argv[0]) is verified to be one of "compile", "cmpl",
"assemble", or "asml", or an error is thrown. The latter
two were not in the previous version at all.
- Use the new GS/OS prefixes (>7)
- define REZ as "17/occ" versus "occ" so that dmake doesn't
have to search the PATH every time it calls $(REZ)
- explicitly specify the output file for the default rule for
making *.r files.
builddate.rez:
- This file is for inclusion by the various utility *.rez files
so that the build date can be displayed in a consistent format.
http://plan9.bell-labs.com/who/bwk/
This is version 970821 without modification for GNO/ME compatibility.
It's being included in the repository to assist in importing future
versions of awk from Bell Labs.
----------------------------------------------------------------------
Added Files:
awk/FIXES awk/README awk/awk.1 awk/awk.h awk/awkgram.y awk/b.c
awk/lex.c awk/lib.c awk/main.c awk/makefile awk/maketab.c
awk/missing95.c awk/parse.c awk/proto.h awk/run.c awk/tran.c
awk/ytab.c awk/ytab.h awk/ytabc.bak awk/ytabh.bak
----------------------------------------------------------------------
-- Dave Tribby