-
Notifications
You must be signed in to change notification settings - Fork 0
Vintage Assembler Plus Tools
ichibrosan/vintage-assembler-plus-tools
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
// --------------------------------------------------- // README.TXT 28-Apr-2019 Running on Mac OS X 10.14.4 // S/n 2011-1042-654321 Written by Douglas W. Goodall // Copyright(c)2011 Douglas W. Goodall, United States. // --------------------------------------------------- // This file is part of Vintage Modern Assembler Plus Tools. // // VMAPT 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 3 of the License, or // (at your option) any later version. // // VMAPT 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 VMAPT. If not, see <http://www.gnu.org/licenses/>. // Note: The 08212011 version is compiled to run on the Mac OS X. The 01072013 version is compiled to run on Windows 7. Install the global program from ftp.gnu.org Add ~/src/framewk/bin to your path in .bashrc We always see things differently a few years later The build is still too tricky and needs work before others can expect it to work as it should. But for now the binaries in the pre-release work on my MacBook Pro and should work for others if they have ~/src/framewk/bin in their PATH. To enter the appropriate development directory, do "make" then ". today". The today script will assure there is a working directory for today and change to there. If it is a new day, it will copy the source tree from the last day work was performed. The "scrpback" directory has backups of the critical startup files for using the framework. Specifically the mktoday.cpp and Makefile. IMPORTANT: The auto-archiving feature implemented by the mktoday program is a little tricky to set up. There are pathnames in the mktoday.cpp programs that have to be right for it to work. As presented here, it is set up to work for me at home on my Mac, and also remotely on my Linux server. Inside the numbered source directory is another program called makevers.cpp which also has pathnames in it. The basic concepts are as follows. Each time you are in a numbered directory, and you use the Makefile to build the distribution, a script called "copylast" is written into the bin directory at the top of the source tree. Then when you run the "mktoday" program, it creates a "today" script file that creates a new numbered directory for today, and if necessary, copies the latest previous source code into it (based on the copylast script in bin). The "makevers" program creates the "version.hpp" which is included in all other programs by virtue of being part of "includes.hpp". Once makevers has been built and run, you can build and run "makemake" which cleverly (IMHO) creates a Makefile to build everything. If you are having trouble building the distribution because of a missing "Makefile", you can use the "./bootmake" script which should get things going again. When you run the makemake program, it not only creates the main Makefile, but also .mak files for each program so you can compile a specific program either by invoking make with a program name like "make dump" of with a makefile name like "make -f dump.mak". The "makevers.mk" and "makemake.mk" files are to be left alone and are used by "bootmake" to initially (or as necessary) establish all the makefiles. When it comes to building the test programs for the assembler, there is a program called "asmall" which is copied into the astests directory during the build and once you are in the astests directory, you can recreate the Makefile with "./asmall" or use the existing Makefile by simply doing "make". Once you get mktodayand makevers running smoothly, you will get a new source directory every day by simply doing a "make" at the top, then using ". today" which leaves you in the most current working directory. Douglas