diff options
Diffstat (limited to 'dmake/doc')
-rw-r--r-- | dmake/doc/intro.txt | 40 | ||||
-rw-r--r-- | dmake/doc/license.txt | 248 | ||||
-rw-r--r-- | dmake/doc/public/install.txt | 203 | ||||
-rw-r--r-- | dmake/doc/public/mac.txt | 43 | ||||
-rw-r--r-- | dmake/doc/public/msdos.txt | 124 | ||||
-rw-r--r-- | dmake/doc/public/os2.txt | 76 | ||||
-rw-r--r-- | dmake/doc/public/qssl-qnx.txt | 5 | ||||
-rw-r--r-- | dmake/doc/public/srcorg.txt | 74 | ||||
-rw-r--r-- | dmake/doc/public/tos.txt | 31 | ||||
-rw-r--r-- | dmake/doc/public/unix.txt | 171 | ||||
-rw-r--r-- | dmake/doc/read1st.txt | 58 | ||||
-rw-r--r-- | dmake/doc/release.txt | 196 |
12 files changed, 0 insertions, 1269 deletions
diff --git a/dmake/doc/intro.txt b/dmake/doc/intro.txt deleted file mode 100644 index 8e25f9523b5b..000000000000 --- a/dmake/doc/intro.txt +++ /dev/null @@ -1,40 +0,0 @@ -DMAKE ------ - -The original sources of dmake were available on http://dmake.wticorp.com. -This site has not been reachable for some time and the source is hosted -in the OpenOffice.org http://www.openoffice.org/ cvs now. You can view -the source at: http://tools.openoffice.org/source/browse/tools/dmake. - -dmake is different from other versions of Make in that it supports significant -enhancements. A short summary of the more important features follows: - - . support for portable makefiles - . portable accross many platforms - . significantly enhanced macro facilities - . sophisticated inference algorithm supporting transitive closure - over the inference graph - . support for traversing the file sytem both during making of targets - and during inference - . %-meta rules for specifying rules to be used for inferring - prerequisites - . conditional macros - . local rule macro variables - . proper support for libraries - . parallel making of targets on architectures that support it - . attributed targets - . text diversions - . group recipes - . swapping itself to DISK under MSDOS - . supports MKS extended argument passing convention - . directory caching - . highly configurable - -Current release notes can be found in the file: - - NEWS - -Release notes for older dmake versions (4.1 and before) can be found in -the file: - - readme/release.txt diff --git a/dmake/doc/license.txt b/dmake/doc/license.txt deleted file mode 100644 index 3c68f02bb420..000000000000 --- a/dmake/doc/license.txt +++ /dev/null @@ -1,248 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 1, February 1989 - - Copyright (C) 1989 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The license agreements of most software companies try to keep users -at the mercy of those companies. By contrast, our General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. The -General Public License applies to the Free Software Foundation's -software and to any other program whose authors commit to using it. -You can use it for your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Specifically, the General Public License is designed to make -sure that you have the freedom to give away or sell copies of free -software, that you receive source code or can get it if you want it, -that you can change the software or use pieces of it in new free -programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of a such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must tell them their rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any program or other work which -contains a notice placed by the copyright holder saying it may be -distributed under the terms of this General Public License. The -"Program", below, refers to any such program or work, and a "work based -on the Program" means either the Program or any work containing the -Program or a portion of it, either verbatim or with modifications. Each -licensee is addressed as "you". - - 1. You may copy and distribute verbatim copies of the Program's source -code as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this -General Public License and to the absence of any warranty; and give any -other recipients of the Program a copy of this General Public License -along with the Program. You may charge a fee for the physical act of -transferring a copy. - - 2. You may modify your copy or copies of the Program or any portion of -it, and copy and distribute such modifications under the terms of Paragraph -1 above, provided that you also do the following: - - a) cause the modified files to carry prominent notices stating that - you changed the files and the date of any change; and - - b) cause the whole of any work that you distribute or publish, that - in whole or in part contains the Program or any part thereof, either - with or without modifications, to be licensed at no charge to all - third parties under the terms of this General Public License (except - that you may choose to grant warranty protection to some or all - third parties, at your option). - - c) If the modified program normally reads commands interactively when - run, you must cause it, when started running for such interactive use - in the simplest and most usual way, to print or display an - announcement including an appropriate copyright notice and a notice - that there is no warranty (or else, saying that you provide a - warranty) and that users may redistribute the program under these - conditions, and telling the user how to view a copy of this General - Public License. - - d) You may charge a fee for the physical act of transferring a - copy, and you may at your option offer warranty protection in - exchange for a fee. - -Mere aggregation of another independent work with the Program (or its -derivative) on a volume of a storage or distribution medium does not bring -the other work under the scope of these terms. - - 3. You may copy and distribute the Program (or a portion or derivative of -it, under Paragraph 2) in object code or executable form under the terms of -Paragraphs 1 and 2 above provided that you also do one of the following: - - a) accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of - Paragraphs 1 and 2 above; or, - - b) accompany it with a written offer, valid for at least three - years, to give any third party free (except for a nominal charge - for the cost of distribution) a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of - Paragraphs 1 and 2 above; or, - - c) accompany it with the information you received as to where the - corresponding source code may be obtained. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form alone.) - -Source code for a work means the preferred form of the work for making -modifications to it. For an executable file, complete source code means -all the source code for all modules it contains; but, as a special -exception, it need not include source code for modules which are standard -libraries that accompany the operating system on which the executable -file runs, or for standard header files or definitions files that -accompany that operating system. - - 4. You may not copy, modify, sublicense, distribute or transfer the -Program except as expressly provided under this General Public License. -Any attempt otherwise to copy, modify, sublicense, distribute or transfer -the Program is void, and will automatically terminate your rights to use -the Program under this License. However, parties who have received -copies, or rights to use copies, from you under this General Public -License will not have their licenses terminated so long as such parties -remain in full compliance. - - 5. By copying, distributing or modifying the Program (or any work based -on the Program) you indicate your acceptance of this license to do so, -and all its terms and conditions. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the original -licensor to copy, distribute or modify the Program subject to these -terms and conditions. You may not impose any further restrictions on the -recipients' exercise of the rights granted herein. - - 7. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of the license which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -the license, you may choose any version ever published by the Free Software -Foundation. - - 8. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to humanity, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 1, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19xx name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the -appropriate parts of the General Public License. Of course, the -commands you use may be called something other than `show w' and `show -c'; they could even be mouse-clicks or menu items--whatever suits your -program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - program `Gnomovision' (a program to direct compilers to make passes - at assemblers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/dmake/doc/public/install.txt b/dmake/doc/public/install.txt deleted file mode 100644 index a5ee339d2730..000000000000 --- a/dmake/doc/public/install.txt +++ /dev/null @@ -1,203 +0,0 @@ - DMAKE UNPACKING AND INSTALLATION INSTRUCTIONS - - -We attempt to keep the information presented here accurate. However, the -defacto location of the most up to date information is the dmake WWW site -found at: - - http://dmake.wticorp.com/ - -DMAKE is available in several formats: a compressed tar src archive, -a pkzip src archive, a variety of executable archives. Refer to the -appropriate section below for unpacking instructions. - - -1. UNPACKING THE DISTRIBUTION FILES - - OPTION 'A' (compressed tar src archive): - -------------------------------------- - Assumption: The current directory contains the latest version of dmake in - the file 'dm41src.tgz'. - - This file is a standard GNU zip compressed tar archive. To unpack the file - issue the following command. gunzip is available for most UNIX platforms - as well as DOS. - - gunzip -c dm41src.tgz | tar xf - - - - OPTION 'B' (src zip archive): - ----------------------------- - Assumption: The current directory contains the latest version of DMAKE in - the file dm41src.zip. - - To unpack the full zip distribution simply use pkunzip with the - following command: - - pkunzip dm41src.zip - or - unzip dm41src.zip - - - Instructions for unpacking executable only versions are given on the - dmake WWW site. - - -2. BUILDING THE EXECUTABLE - - Skip this step if you have purchased a prebuilt binary distribution. - - The only supported method for building a new executable from a fresh or - patched distribution is to use the self building scripts rather than DMAKE - itself. This is necessary in order to allow for the use of new DMAKE - features and functionality in the DMAKE 'makefile' itself. Once built - the DMAKE executable can be used to rebuild DMAKE. - - To determine the set of supported environments issue the following - commands: - - cd src - make - - The output of this command will be a set of arguments representing the - supported environments that DMAKE can be compiled in. Choose the one - that most closely represents your environment and issue the command: - - make environ_tag - - where 'environ_tag' is from the previous list, for example on a Solaris - System the option is Solaris, so you would issue the command 'make Solaris'. - - The script runs the appropriate set of commands; upon completion the file - 'dmake' or 'dmake.exe' is found in the current directory. - This is the binary executable. - - Note: before issuing the build command please read Section 3 and decide - if you need or want to modify the pre-compiled value of MAKESTARTUP. - - During the build it is safe to ignore any warnings that may - be generated by your build. If you get errors from the build then - it is probably the case that you have chosen a build target that is - not compatible with your environment. - - -3. INSTALLING AND CONFIGURING THE EXECUTABLE - - To install the dmake executable place the executable into the - location where your system normally finds executables. That is - place dmake into a subdirectory that is or will be in your - executable search PATH. - - You can now issue the command 'dmake -V'; the output will be - similar to: - - dmake - Copyright (c) 1990,...,1996 by Dennis Vadura, Version 4.10, PL 0 - - Default Configuration: - MAXPROCESSLIMIT := 10 - MAXLINELENGTH := 8190 - .IMPORT .IGNORE: ROOTDIR - .MAKEFILES : makefile.mk Makefile makefile - .SOURCE : .NULL - MAKESTARTUP := $(ROOTDIR)/usr/local/lib/dmake/startup/startup.mk - - Please read the file readme/release for the latest release notes. - - - Take note of the line defining the value of MAKESTARTUP; to configure - the executable you must perform two steps: - - 1. Copy the <dmake-distdir>/startup subtree to a suitable location, - 2. Tell dmake where you put it, - - - Step 1: - ------- - The above example build of dmake assumes that the directory path (assuming - ROOTDIR is NULL) - - /usr/local/lib/dmake/ - - is a directory which contains a copy of the "<dmake-distdir>/startup" - subtree. Thus to properly configure dmake so that the precompiled - defaults would be used you would have to perform the following: - - cd <dmake-distdir> - mkdir /usr/local/lib/dmake - cp -r startup /usr/local/lib/dmake - - or if you are in the MSDOS or Windows-95/NT world: - - cd <dmake-distdir> - md \usr\local\lib\dmake - xcopy startup \usr\local\lib\dmake - - and you are done Step 1. - - - Step 2: - ------- - You must tell dmake where it is that you placed the "startup" subtree. If - the location is the directory that is pre-compiled into dmake then you - are done. If the directory where you copied the dmake subtree is not the - precompiled value you must either set the global environment variable - MAKESTARTUP to point at the new location of "startup/startup.mk" or you - must rebuild dmake with a new precompiled value of MAKESTARTUP. To do the - latter create the file: - - src/startup.h - - and make sure that it contains an entry similar to the following: - - /* This file contains the default value of the MAKESTARTUP variable. - * You must set the quoted string below to the default path to the startup - * variable, so that it gets compiled in. LEAVE ROOTDIR at the front of - * the path. This allows the user to customize his environment for dmake - * by setting up a new ROOTDIR environment variable. */ - - "MAKESTARTUP := $(ROOTDIR)/usr/local/lib/dmake/startup/startup.mk", - - (See src/msdos/startup.h for an example). Once set properly rerun your - previous build. In the rare instance that your compiler has broken - #include search rules, the shipped "startup.h" files are located in - architecture specific subdirectories as described in the file - "readme/srcorg". - - -4. DMAKE SPECIFIC ENVIRONMENT VARIABLES - - Once you have built dmake, the dmake startup directory contains the file - "config.mk". This file contains definitions corresponding to your installed - target environment for the variables: - - OS - Specifies the flavour of operating system. - OSRELEASE - Specifies the particular version of the operating - system. - OSENVIRONMENT - An optional configuration parameter for the operating - system release. - - Appropriate values for these variables are found in the - - <install-dir>/startup/templates/<OS>/<OSRELEASE>/<OSENVIRONMENT>/template.mk - - file. Select the OS, OSRELEASE, and OSENVIRONMENT that best suits your - setup (check readme.1st) for hints on selecting the most appropriate - settings. - - These three variables are used to determine the correct dmake configuration - when dmake starts up, and loads its builtin definitions from the startup - subtree hierarchy. The only time you should have a need to change these - values or the contents of the startup subtree is when you wish to supply - your own customized default environment or you are building dmake for a - new as yet unsupported target environment. - - -5. LOCALE SPECIFIC CONFIGURATION - - Locale specific macro definitions that are not part of the predefined macro - set should be placed into the file "startup/local.mk". This ensures that - future dmake releases will not overwrite your prior definitions. We - guarantee that the file "startup/local.mk" will never be part of any future - dmake distribution. - - diff --git a/dmake/doc/public/mac.txt b/dmake/doc/public/mac.txt deleted file mode 100644 index 34a2dca5f820..000000000000 --- a/dmake/doc/public/mac.txt +++ /dev/null @@ -1,43 +0,0 @@ -MAC specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake in a MAC -environment. - - -1. ENVIRONMENT VARIABLE SETTINGS - -Only a single set of settings is available for the macintosh. There are no -sub-selections for specific OS release and/or environment. - - OS - mac - OSRELEASE - NULL - OSENVIRONMENT - NULL - - -2. IMPLEMENTATION NOTES - -This port for the Macintosh is specifically designed to be run -under MPW. - -I had to make a couple of changes to dmake in order to get it to work -on the Mac. First, MPW provides no documented way to run a -subprocess, so when you use dmake, you MUST use the -n option and -execute the output. Typically, you will probably want to write a -simple script file to do these operations for you. - -I added some code so that the Macintosh version of dmake can -use UNIX-style directories to specify include paths and target -and dependency file names. I.e., if you specify a file "/dir/file", -dmake will look at the file "dir:file". However, Mac dmake does not -do any translation from files specified by UNIX-style directories -in the recipe line that gets executed. If you need to translate, -you can use substitution commands. (For example, -":$(RELATIVEUNIXFILE:s,/,:,)".) This code was added so one could -execute dmake's makefile, and also so one would have an easier time -porting other UNIX makefiles. I would suggest you stick with -Macintosh-style directories for all other makefiles. - -In order to run dmake, you must set (and export) the environmental -variable "OS" to "mac". - -Micah Doyle -micah@leland.Stanford.EDU diff --git a/dmake/doc/public/msdos.txt b/dmake/doc/public/msdos.txt deleted file mode 100644 index 72664843a644..000000000000 --- a/dmake/doc/public/msdos.txt +++ /dev/null @@ -1,124 +0,0 @@ -MSDOS specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake under MSDOS. -I will be happy to hear of erroneous information and will make every effort -to correct it. - -NOTE: If you are seeking information for Win32 compiles please refer to - the file "readme/winnt". - - -1. ENVIRONMENT VARIABLE SETTINGS - -There are many environment variable settings available for MSDOS. Each -option is described below. - - OS - msdos - - OSRELEASE - borland # Borland compilers - - microsft # Microsoft compilers - - zortech # zortech compilers (unsupported) - - OSENVIRONMENT - tcc20 # Borland Turbo C 2.0 - - bcc30 # Borland C++ V3.0 MSDOS compile - - bcc40 # Borland C++ V4.0 MSDOS compile - - bcc45 # Borland C++ V4.5 MSDOS compile - - bcc50 # Borland C++ V5.0 MSDOS compile - - - msc51 # Microsoft 5.1 Compiler MSDOS compile - - msc60 # Microsoft 6.0 Compiler MSDOS compile - - MSC_VER - 5.1 # Microsoft Compiler version - - 6.0 # Microsoft Compiler version - - -2. IMPLEMENTATION NOTES - -Bootstrapping the binary: -------------------------- - A make.bat file is provided to bootstrap the binary. The file contains - several targets for bootstrapping. Invoking the batch file with no - arguments lists the possibilities shown below. - - INDEX: You must specify one of: - tccswp - Turbo C 2.0 compile of swapping dmake. - bcc30swp - Borland C++ 3.0 compile of swapping dmake. - bcc40swp - Borland C++ 4.0 compile of swapping dmake. - bcc45swp - Borland C++ 4.5 compile of swapping dmake. - bcc50swp - Borland C++ 5.0 compile of swapping dmake. - - msc51 - Microsoft C 5.1 compile. - msc51swp - Microsoft C 5.1, MASM 5.1 compile of swapping dmake. - msc60 - Microsoft C 6.0 compile. - msc60swp - Microsoft C 6.0, MASM 5.1 compile of swapping dmake. - - Based on the compiler you have installed and whether or not you - want the swapping version of dmake, you should select the appropriate - target and issue 'make.bat target'. - - The batch file runs a second batch script that comes with the distribution - which compiles the sources using the appropriate compiler and flags. The - MSC Versions of the batch files should not require any further user - intervention during the build. The Borland versions, as a final step, - invoke tlink with two response files. The second of these response files, - named in msdos/borland/{bcc*,tcc20}/mk*.bat, contains absolute path names to - Borland's libraries. You likely need to edit these before getting a - successful binary linked. The reason for this is that not all of us - install the Borland compiler in the same place. - - Note that the file msdos/exec.uue is a uuencoded version of a BCC++ - compiled exec.obj (from exec.asm). If you do not have an assembler - either microsoft MASM or Borland TASM (or some other), you can uudecode - this file and put it into src/objects/exec.obj. The build will then - link against it to build your binary. - - -Using dmake to Make itself: ---------------------------- - See the file "readme/install" for information on building dmake by using - dmake itself. Once successfully built using the presupplied scripts it - should be straight forward to rebuild dmake. - - -Memory Requirements and Swapping: ---------------------------------- - The swapping code currently only swaps to DISK, there are hooks - in the code to accomodate XMS and EMS, but have not been used (and - probably never will). - - It appears that a ramdisk seems to work just fine. If anyone - wishes to fill in the hooks please do so and send us the differences. - - -^C and stopping a make: ------------------------ - Thanks to the efforts of Len Reed, appears to now work. I have been unable - to hang my machine if it's swapped out and I hit ^C a couple thousand times. - - -Other notes: ------------- - dmake does not care if you are running command.com or some other command - interpretter, you must however specify the proper values of the environment - variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things - to work correctly. Read the man page FIRST, if you still have trouble - then send email. - - Group recipes under DOS that use command.com as the command interpretter - require you to set the GROUPSUFFIX macro. - - As shipped the startup.mk files for the DOS version try to figure out what - command interpretter you are using and set things up appropriately. - Two command interpretters are supported in the shipped startup.mk file, - command.com, and the MKS Korn shell. - - The dos version of dmake contains one builtin command. noop which - simply ignores the remainder of the line and always retuns success, - - dmake supports the MKS argument passing conventions. The facility is - enabled by setting .MKSARGS:=1. It is set by default in the startup.mk file - if an MKS Korn shell is detected as being the active command interpretter. - - At this time there are no plans to support the other popular UNIX like - argument passing conventions available under DOS. We recommend you get - a copy of the MKS Toolkit from Mortice Kern Systems in Waterloo, Ontario, - Canada [http://www.mks.com/]. diff --git a/dmake/doc/public/os2.txt b/dmake/doc/public/os2.txt deleted file mode 100644 index 5acf4cc6ab0a..000000000000 --- a/dmake/doc/public/os2.txt +++ /dev/null @@ -1,76 +0,0 @@ -OS/2 specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake in a OS/2 -environment. - -Notes on the OS/2 implementation of dmake: -========================================== - -As shipped the DOS versions of dmake will run under OS/2 protected mode. -However, support for a full OS/2 version is also provided. The OS/2 version -will run in parallel under OS/2. - -Bootstrapping the binary: -------------------------- - A make.cmd file is provided to bootstrap the binary. The file contains - several targets for bootstrapping. Invoking the batch file with no - arguments lists the possibilities shown below. - - INDEX: You must specify one of: - ibm - IBM C2 compile. - - The only supported compiler under OS/2 is the Visual Age ICC compiler. - I have tested the build using this compiler. The resulting binary - performs proper directory caching and file-name case mapping for cached - directories and is capable of parallel target builds. The only known - limitation of the OS/2 implementation is the treatment of library time - stamps. Libraries do not have time stamps on members and the timestamp - of the library is used instead. - - -OS/2 Specifics --------------- - - There is a small number of OS/2 specific features that need to be - stated. - - 1. The environment variables TMP as well as TMPDIR are checked for the - location of the directory where dmake should place any temporary files. - TMPDIR is checked before TMP. - - 2. Appropriate limits are setup for MAXPROCESSES and buffer sizes etc. - See output of 'dmake -V'. - - 3. By default dmake will look for the startup.mk file in the path: - - $(ROOTDIR)/dmake/startup/startup.mk - - This is more in keeping with OS/2 philosophy. You may still rename - and put it anywhere else you like by defining the MAKESTARTUP - environment variable. - - 4. Swapping the dmake binary to disk is not supported under OS/2. - - -Other notes: ------------- - dmake does not care if you are running cmd.exe or some other command - interpretter, you must however specify the proper values of the environment - variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things - to work correctly. Read the man page first. - - Group recipes under OS/2 that use cmd.exe as the command interpretter - require you to set the GROUPSUFFIX macro. - - As shipped the startup.mk files try to figure out what - command interpretter you are using and set things up appropriately. - Two command interpretters are supported in the shipped startup.mk file, - cmd.exe (via COMSPEC), and the MKS Korn shell. - - dmake does not contain any builtin commands. It gets all commands it - executes from an external file system. It is therefore most useful if it - is used in conjunction with an environment similar to that provided by - the MKS Tool kit, or equivalent. - - dmake now supports the MKS argument passing conventions. The facility is - enabled by setting .MKSARGS:=1 and is set by default in the startup.mk file - if an MKS Korn shell is detected as being the active command interpretter. diff --git a/dmake/doc/public/qssl-qnx.txt b/dmake/doc/public/qssl-qnx.txt deleted file mode 100644 index 80fc8b56aa4d..000000000000 --- a/dmake/doc/public/qssl-qnx.txt +++ /dev/null @@ -1,5 +0,0 @@ -QNX differs from UNIX only in that the library format is that of MSDOS and -as such the normal stating of library members does not work. QNX versions of -dmake stat the library instead of the members (as does the MSDOS -implementation). Otherwise see the readme/unix file for further unix related -information. diff --git a/dmake/doc/public/srcorg.txt b/dmake/doc/public/srcorg.txt deleted file mode 100644 index 89ff914eec4b..000000000000 --- a/dmake/doc/public/srcorg.txt +++ /dev/null @@ -1,74 +0,0 @@ -SOURCE CODE ORGANIZATION: -------------------------- -The source code is organized as follows: - - dmake [source for all common functions] - | - | - ---------------------------- - | | | | | - unix tos qnx os2 msdos [source for OS specific functions] - | | | - -------------------- | ------------------- - | | | | | | | -386ix bsd43 sysvr[134] | tccdos bccdos mscdos [source for OSRELEASE - | | | specific functions] - | --------- ------------------ - | | | | | | - | ibm mscdos bcc30 bcc32 bcc40 - | - | - | - -------- - | | - uw vf [source for OSENVIRONMENT specific functions] - - -Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source -that is specific to that release of the OS (and possibly C-library) - - -CREATING A NEW VERSION: ------------------------ -To create yet another version of dmake you should follow the following steps. - -The sysvr3 version as sent is the base version, all dmake versions must provide -the equivalent of the functions defined in the sysvr3 directory, and MUST -provide the same semantics (MSDOS archive lib searches are an exception since -we cannot search libraries for timestamps in MSDOS, Actually the MKS version -of dmake does this, I don't have the inclination to add this code though). - -1. Create a new directory for the version you will be making at the level - that is appropriate. If it is a new OS then add the dir at the top level, - if it is a new version of UNIX then add it below the unix directory. - -2. Copy the files from the unix and unix/sysvr3 directories to the new dir. - (Or from any other directory sub-tree that is more appropriate) - -3. Not all OS/OSRELEASE combinations are compatible so in order to make - dmake on each, the particular directory may contain C-source for functions - present in the SVID SysV R3 distribution which are used by dmake but are - not supplied by the C-library in the target system. For example the bsd43 - directory contains source for tempnam.c since it is not provided with - the BSD C-library. Before writing a new version of the source file - check the other directories to see if one already exists. - -4. Under some systems the standard include files may be missing or incorrect. - eg. under BSD stdarg.h and string.h. If this is the case - you should create the proper .h file in the proper directory. - This works as expected as the compile line includes the flag -Idir - where dir is the configuration dir, (bsd43 for example) and any - standard include files will be searched for in dir before the compiler - looks in the normal places (if you have a sane compiler :-). - -5. Modify dmake.sh to contain the appropriate C compiler flags and link command - and to include any specific C files that you have had to add for this - version of dmake, and run the result through the shell. - (make the same changes to config.mk so that once you have a working copy of - dmake you can use it to bring itself up to date) - -6. Send me the changes :-) so that I can incorporate them into future - distributions. - -7. This should be all that you require to create a new version of dmake. - If you have any questions send e-mail to dvadura@plg.uwaterloo.ca diff --git a/dmake/doc/public/tos.txt b/dmake/doc/public/tos.txt deleted file mode 100644 index ddcc43104483..000000000000 --- a/dmake/doc/public/tos.txt +++ /dev/null @@ -1,31 +0,0 @@ -Atari TOS specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake in a TOS -environment. I do not own an ST. As a result I rely on others to insure that -this version of dmake works as advertized. If you have any problems with it -please fix them and send me the differences so that I can incorporate them -into future releases and patches. - - -1. ENVIRONMENT VARIABLE SETTINGS - -Only a single set of settings is available for Atari TOS. There are no -sub-selections for specific OS release and/or environment. - - OS - tos - OSRELEASE - NULL - OSENVIRONMENT - NULL - - -2. IMPLEMENTATION NOTES - -The code to compile on an Atari-ST using GCC was supplied by Edgar Roeder -(roeder@cs.uni-sb.de). I do not have an ST on which to verify the -distribution sources but I have no reason to believe them to not work. -If there are any problems please let Edgar or myself know. - -I know of no bugs or limitation to the Atari-ST implementation. Note that -it is similar to the DOS version but it does not swap itself out. This does -not appear to be as much of a problem on the Atari as it is on MSDOS boxes :-). -See the msdos specific info file for further information. - --dennis diff --git a/dmake/doc/public/unix.txt b/dmake/doc/public/unix.txt deleted file mode 100644 index b50ab9afad1c..000000000000 --- a/dmake/doc/public/unix.txt +++ /dev/null @@ -1,171 +0,0 @@ -UNIX specific information for dmake. This information is provided in the -hope that it makes it easier to install and recompile dmake under UNIX. -I will be happy to hear of erroneous information and will make every effort -to correct it. - - -1. ENVIRONMENT VARIABLE SETTINGS - -There are many environment variable settings available for UNIX. Each -option is described below. - - OS - unix - - OSRELEASE - bsd43 # generic BSD 4.3 - - solaris # Solaris environments - - sysvr1 # System V R1 - - sysvr3 # System V R3 - - sysvr4 # System V R4 - - xenix # Xenix - - 386ix # Sun IPX 386 boxen - - coherent # Coherent... - - qnx # QNX - - OSENVIRONMENT - uw # U of Waterloo mfcf environment for BSD4.3 - - vf # for environments needing vfprintf - - pwd # for environments needing new pwd - - gcc # for GCC compiles with Solaris2.3 and greater - - verxx # for specific OS versions. - - -The table below lists valid combinations for settings of OS, OSRELEASE, and -OSENVIRONMENT. - - OS OSRELEASE OSENVIRONMENT - -- --------- ------------- - unix bsd43 - unix bsd43 uw - unix bsd43 vf - unix solaris - unix solaris gcc - unix sysvr1 - unix sysvr3 - unix sysvr3 pwd - unix sysvr4 - unix xenix - unix xenix pwd - unix 386ix - unix coherent ver40 - unix coherent ver42 - -You must set OS and OSRELEASE, OSENVIRONMENT to correspond to one of the -configurations in the above table. - - -2. IMPLEMENTATION NOTES - -Bootstrapping the binary: -------------------------- - A 'makefile' file is provided to bootstrap the binary. The file contains - many targets for bootstrapping. Issuing 'make' will provide the list of - possible targets that can be built. A restricted sample is shown below: - - INDEX: You must specify 'make target' where target is one of: - ------------- - make bsd43 - Generic BSD 4.3 System - make bsd43uw - Generic BSD 4.3 at U of Waterloo - make bsd43vf - Generic BSD 4.3 that needs vfprintf - make sysvr4 - Generic SysV R4 UNIX System - make sysvr3 - Generic SysV R3 UNIX System - make sysvr3pwd - Generic SysV R3 UNIX System, our PWD - make sysvr1 - Generic SysV R1 UNIX System - make dynix - Sequent DYNIX System - make linux - Linux - make ultrix - Ultrix 3.0 System - make mips - Any MIPS System - make coherent40 - Any Coherent Version 4.0 System - make coherent42 - Any Coherent Version 4.2 or greater System - make hpux - HP Unix - make 386ix - 386/ix (SysV R3) System - make xenix - 386 Xenix System - make xenixpwd - 386 Xenix System, our PWD - make aix - IBM RS6000/AIX System - make Solaris - SUN Solaris 1.0 to 2.0 - make Solaris2.1 - SUN Solaris 2.1 or greater - make gccSolaris2.1 - SUN Solaris 2.1 or greater with gcc - - The above shows only the possible builds for UNIX like operating systems. - Choose the one that best suits your needs and issue the command - - 'make target' - - -Using dmake to Make itself: ---------------------------- - If you use dmake to make itself you must first set a number of makefile - control variables, either through the environment or on the command line. - - The following variables must be set: - - OS - defines operating system (must be set) - OSRELEASE - particular version of it. - OSENVIRNOMENT - more customization - - These three variables should be defined in your environment. Valid values - for UNIX are listed above in Section 1. You must chose one a setting from - the table that best matches your system. - - Once set simply issue the command: 'dmake' and the sources will be - automatically rebuilt. You do not need to specify a target when you - use dmake and the environment variables are correctly set. - - -.NAMEMAX and length of file names: ----------------------------------- -dmake assumes that no file name component has a name longer than .NAMEMAX -(a user-settable variable, see the man page). Files whose basename is -longer than .NAMEMAX return a timestamp of 0 when statted. The reason for -this test is to handle broken versions of stat that return non-zero times -for stating files that are longer than the legal file name length but for -which a file whose name is the legal maximum file name length and is a prefix -of the longer name exists. This used to cause infinite loops in the inference -engine. - -As a result the value of .NAMEMAX is important. dmake attempts to determine -it at from your system header files when compiled however sometimes even these -may be erroneous thus as a result as of dmake 4.0 users may set the value of -.NAMEMAX to any value they wish. - - -Library Name Length: --------------------- -By default the maximum length of library member names is defined in the the -ar.h header file and is usually 14. Elf libraries allow for a arbitrarily -long member names, if your archiver supports the elf archiver extension for -long member names then edit the file unix/arlib.c and set the CHECKELF define -to indicate that the Elf archiver extension is to be checked for. - -If Elf is not supported and your archiver truncates member names you should -set (in unix/arlib.c) the macro AR_TRUNCATE_MEMBER_NAMES. dmake will then -also truncate member names and perform a length limitted comparison when -scanning the library for matching member names. - - -UNIX Sysv R3 and getcwd: ------------------------- -Some versions of UNIX SysV R3 and Xenix use the popen call to capture the -output of pwd when invoking the C library function getcwd(). These versions -of the function cause dmake to terminate with the "lost a child" message -due to the fact that the parent dmake process may catch the pwd and not -recognize it as a child. For systems that have this problem use the version -of dmake that supplies its own getcwd function. The settings are: - - OS = unix - OSRELEASE = sysvr3 - OSENVIRONMENT = pwd - -It is directly available through the 'makefile' by typing one of: - - make sysvr3pwd - make xenixpwd - -both include the getcwd code but the xenixpwd target compiles for a Xenix -system. - - -UNIX and "limits.h": --------------------- -Some compilers do not yet provide the "limits.h" file, if yours is one of -these then simply copy the file "namemax.h" in the source root directory to -"limits.h". Make sure the length of a file name is correctly set in -"limits.h" as it is processed prior to "namemax.h". diff --git a/dmake/doc/read1st.txt b/dmake/doc/read1st.txt deleted file mode 100644 index 34b5424cd482..000000000000 --- a/dmake/doc/read1st.txt +++ /dev/null @@ -1,58 +0,0 @@ -DMAKE 4.12 -========== - -This directory tree contains a number of files. Here is a short -description of what each file contains so that you do not need to -search as much. There is also a recommended order for reading them. - - read1st.txt - This file; generic information. - intro.txt - Short note describing what 'dmake' is and where to - get it from. - release.txt - Changes of previous releases, and release specific - notes. (Not longer continued.) - ../NEWS - Changes from previous release. (Continuation of - release.txt.) - ../man/ - directory containing DMAKE manual page. - - public/ - Old build and installation instructions - for the Dmake 4.1 public release. As of Dmake 4.2 - dmake switched to an autotools based build system - and these instructions are not longer valid for - operating systems that are supported by the autotools - system. - If you are on a system that is not supported you - might still find some useful information there. - -Building Dmake -============== - -With autotools --------------- -Building dmake on systems that are supported by the autotools build system -only requires the usual "./configure && make && make install" command. -The configure command will notify you when your platform is not supported. - -With Microsoft C++ compiler ---------------------------- -For MS Visual C++ 6 and up run "make.bat win95-vpp40" in a command shell. -This should create a dmake.exe in the top-level directory. - -It is possible to rename this to, say, dmake0.exe, delete the objects/ -sub-directory and then simply run "dmake0.exe" to build a new dmake.exe. -Note that it is not necessary to have dmake rebuild itself in this way, -but it is a nice test that your new dmake is working to see that it can. - -To install dmake, simply copy dmake.exe and the startup/ sub-directory to -a directory of your choice. You may also want to copy the man/ -sub-directory for future access to the manual page. - - -All other systems might look in the public/ directory for useful hints. - - -The original sources of dmake were available on http://dmake.wticorp.com. -This site has not been reachable for some time and the source is hosted -in the OpenOffice.org http://www.openoffice.org/ cvs now. You can view -the source at: http://tools.openoffice.org/source/browse/tools/dmake. -Please send questions regarding dmake to the tools project mailing list -at dev@tools.openoffice.org. diff --git a/dmake/doc/release.txt b/dmake/doc/release.txt deleted file mode 100644 index 42f2d9d61592..000000000000 --- a/dmake/doc/release.txt +++ /dev/null @@ -1,196 +0,0 @@ -This file is superseded/continued by the toplevel NEWS file. - -DMAKE Version 4.1 -================= -FINAL FREE RELEASE OF DMAKE, REPLACES VERSION 4.0 - -Nature: This distribution advances dmake to Version 4.1, patch level 0. -------- This release adds significant functionality and eliminates - bugs that were introduced with release 4.0. - - -DETAILS OF ENHANCEMENTS/TWEAKS: -=============================== - -BUG FIXES: ----------- - -1. General clean up all over to fix small incompatibilities and obvious - typos. - -2. Fixed bug in getinp.c where buffer was being erroneously overwritten, - this caused the invalidation of the return address on the stack on - DOS systems. - -3. Fixed a bug that caused the "<target> is up to date" message to be - suppressed. - -4. Fixed a bug involving the value of $@ in conjunction with dynamic - prerequisites. - -5. Relegated the warning associated with duplicate entries in prerequisite - lists to a non-essential warning. Added an option flag -Vw to display - it if you wish to check your makefile for duplicate entries. Either way - the parser ignores duplicates. - -6. Better default action on checking out RCS targets. If an RCS target has - no directory prefix of its own it is checked out into the directory - which contains the RCS subdirectory, otherwise it ends up in its directory - qualified location. - -7. Improved the speed of lookups in the directory cache; handle mixed case - file name entries on OS/2 and Win95/NT. - -8. Improved prerequisite list generation for long prerequisite lists. - -9. Rearanged startup macro files to form an architectural hierarchy. - This greatly simplifies the maintenance of the startup files. They - might even be right at some point in the future. Please let me know if - you encounter difficulties, as I don't have access to all possible - platforms, this sub-hierarchy is bound to have ommisions at this release - and hence is intended to be evolutionary over time. - -10. A build that only touches targets (-t) uses the same algorithm to decide - valid names as a normal build. - -11. Conditional macro assignments fixed, and now work for builtin macro - variables as well. - - -NEW FEATURES: -------------- - -0. Complete reorganization of Dmake STARTUP scripts. Please refer to the - installation notes for details. THIS ONE IS IMPORTANT!!! - -1. Support for long archive member names if Elf is available, plus better - support for archivers that truncate member names (see comments in - unix/arlib.c for details). - -2. Added variable MAKEVERSION which contains a string indicating the current - version of dmake. - -3. Added the .EXECUTE attribute, see man page for details. - -4. Added the .ERRREMOVE attribute, see man page for details. - -5. Added support for gmake style if/else/endif, but only if not part of - a Group recipe. - -6. Added initial build target for Coherent version 4.2 UNIX - and for Windows-NT/Windows-95 32-bit app using Borland C++ 4.0,4.5, 5.0, - and Microsoft Visual C++ 4.0. - -7. MSDOS version now supports two builtin runtime commands, noop, and echo. - -8. Added new macro $(uniq list) which returns a sorted version of the - white space separated tokens in list such that there are no repetitions. - -9. Added the function macro $(echo list) which simply returns list. - This is most useful in conjunction with the new $(foreach ...) - function macro. - -10. Added gmake style function macro - - $(foreach,var,list data) - - where var and list are expanded, and the result is the concatenation of - expanding data with var being set to each white space separated token in - list in turn. For example: - - list = a b c - all : - echo [$(foreach,i,$(list) [$i])] - - will output - - [[a] [b] [c]] - - The iterator variable is defined as a local variable to this foreach - instance. The following expression illustrates this: - - $(foreach,i,$(foreach,i,$(sort c a b) root/$i) [$i/f.h]) - - when evaluated the result is: - - [root/a/f.h] [root/b/f.h] [root/c/f.h] - - The specification of list must be a valid macro expression, such as: - - $($(assign list=a b c)) - $(sort d a b c) - $(echo a b c) - - and cannot just be the list itself. That is, the following foreach - expression: - - $(foreach,i,a b c [$i]) - - yields: - - "b c [a]" - - when evaluated. - -11. Added the macro $(and list). - -12. Added the macro $(or list). - -13. Added the macro $(not term). - -14. Added the .NOINFER attribute to the .INCLUDE directive. When specified - any prerequisite of the .INCLUDE directive which cannot be found in - the .INCLUDEDIRS search list is not automatically made. - -15. Improved the handling of internal macros for proper functioning of the *= - and *:= assignment constructs. Macros that are internally initially - defined are considered to be undefined for the purpose of *= and *:= - assignment until they are the target of an explicit assignment operation. - -16. Improved the caching of file names, and their matching on case insensitive - file systems. Two control macros help to manage the functionality: - - .DIRCACHE := yes - - Implies that the directory cache will be used. This is on by default for - systems that support the reading of directories. Setting the value of this - macro to 'no' is equivalent to supplying the '-d' command line switch. - - .DIRCACHERESPCASE := yes - - Causes dmake to respect the case of the directory entries when the cache - is enabled, thereby treating directory entries in a case sensitive manner. - Setting this to 'no' disables the matching of case. This macro has effect - only if .DIRCACHE := yes. Otherwise the facilities provided by the native - OS are used to match file names using 'stat'. - -17. Added parameterized user defined function macros. Yes it's true - you may now define your own parametized function macros. Here is - how it works. Any macro that is not a predefined function macro and - is invoked with parameters is looked up as a user defined function - macro. A new macro scope is created. The n'th argument to the - macro is then assigned to the value of the macro $n where n is 0 - for the first argument, 1 for the second argument and so on. The - argument is expanded before it is assigned. The original macro is - then expanded. For example: - - FOO = a $0 b $1 c $2 d - echo :; $(FOO x y z) - - Will produce the result string "a z b y c z d". The - expansion of $(FOO) on it's own behaves as expected and returns the - string "a b c d" (assuming that each of $0, $1, $2 - are undefined). The only restriction when specifying function - macro arguments is as before: they cannot contain spaces - themselves. - - -ACKNOWLEDGEMENTS: -================= - Thanks to all who submitted code for new features, suggestions for - improvements, and bug fixes. I have tried to make sure no gotchas - remain, if you encounter problems installing or running dmake please - let me know. As always, I am always happy to receive e-mail. - - Many have contributed suggestions and bug fixes that make this - release possible. The NET thanks you. |