home *** CD-ROM | disk | FTP | other *** search
- ; This is a project. Here are a lot of setup's, the programs
- ; and the phadnames for source, objects und exe-files.
- ; The *-entry is a general setting, it will work as default
- ; The programs can use it or set own setup's
- ; $1, $2 ... $9 (This are variables for pmm.cfg)
- ; $$.c= Phat to source, if not identical with PFAD=
- ;
- ; Important:
- ; This file is only use by the compiler. The pathes that will be
- ; scan for include by the depend-scanner comes from pmm.userincludes.
- ; pmm.userincludes: every line ONE scanpath. Don't set pathes to the
- ; compilerincludes. Only include/libraries if you really use that.
- ; Else alle include-.h-files are checked everytime you start compiling
- ; and that cost many time for nothing.
- ; After a compilerupdate where the .h-files really changed best work
- ; is to remake all files.
- ; Note, that the depend-pathes are used for all programs same. The
- ; sourcedirectory is everytime another and only the real include-dir's
- ; are scanned.
- ; The depend look everytime at the source-home-dir of the program.
- ; The compiler dosn't do that. Use the pseudoinclude -I$I to set
- ; up the homedir for the compiler. Pmm do this not alone, because
- ; I will be open in for all things in future.
- ;
- ; Lines with MAKE at the beginning:
- ; First the 1%, 2% ... etc. now become content
- ; MAKE=5 means: Start Pmm without a makeoption (like only make) internal
- ; use is equal 5 that set as 68040 in my default).
- ; MAKE:xyz=1,2,3 This means, if you start pmm with -o xyz the system
- make the type 1, 2 and 3.
- ; MAKE:ALL=.... Important! This set what be happend if Pmm is starting
- ; with A, Q, I or -o ALL.
- ; This all are additives to pmm.cfg. But there are more things:
- ;
- ; Source and other files:
- ; $&.c is source.c Preprozessor Input ( .c -> vcpp )
- ; $&.i is soirce.i Preprozessor Output ( .c -> vcpp -> .i )
- ; $&.a is source.asm Compiler Output ( .i -> vbcc -> .asm )
- ; $&.s is source.s Compiler Output ( .i -> vbcc -> .s (vsc) -> .asm )
- ; $&.o is source.o Assembler Output ( .asm -> Assembler -> .o [ -> Linker] )
- ; $$ is PROGRAMM Letzter Output (Programm, Library, Lib etc.)
- ; vsc is the scheduler, look at the vbcc-doc's for warpos!!!
- ; All there things done automaticly by pmm. .i, .a, .s and .o will used to
- ; specify the path-names. $$ specify the program that will be create. If you
- ; specify none a.out will be createt at the actual sourcedir. Look downline
- ; $L defines the additive .Lib or .a-Files for the linker.
- ;
- ; Why here and not in Pmm.Cfg. Because the settings here in pmm.cfg are
- ; correct for most (all) times. Setup includes here must changed if you
- ; begin another project. In future I will support multiple projects and
- ; so it is easy to work at every project with his own way.
- ; Warum dieser Eintrag, ginge doch genauso gut in Pmm.Cfg?. Also do
- ; all things here that not generell standard at you amiga.
- ;
- ; Take notice of BEGIN * and look at the next textblock:
- ;
- :BEGIN *
- MAKE=5
- MAKE:60=5,6
- MAKE:PPC=7,8
- MAKE:ALL=1,2,3,4,5,6,7,8
- $&.o=obj/$0/
- $&.i=T:
- $&.a=T:
- $&.s=T:
- $$=a.out
- $L=-Bsymbolic Lib:DOSLIB_$0$8 Lib:All$9
- 7%$L=-Bdynamic Lib:DOSLIB_$0$8 Lib:All$9
- :END
- ; <- The END in the line bevor wil ending this config. From this line down
- ; it is allowed to set a new BEGIN. $o is name of a temporary file.
- ; after compile all source to object's the list of objectfiles will be
- ; find in it. Pmm creates the list and it will be read from PmmLibr
- ; or the Linkers. Look in Pmm.Cfg for more details.
- ;
- ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ;
- ; Demonstartion --- no function ---
- ; ---------------------------------
- ; DOSLIB is a SPECIAL, the linker will be replaced with PmmLibr.
- ; This is the way, I ccreate all source-link-lib's. Only the
- ; stub-libs will created by own way with batches. To go the
- ; simple way with the link-list that will create by pmm I programming
- ; the a function in PmmLibr, read object-list from file. So it is
- ; very simple now. Look at PPC-Version with the ar-command. First
- ; a complete ar-libr-batch must be created (with list an lformat).
- ; After that the batch executed. Yes, it work, but not so quick and
- ; not so "beatifull". To use a file as inputfile with PmmLibr use
- ; the new option F. PmmLibr or a other libr with this option can
- ; with minimal changes included in any compile-help-system. As example
- ; the vc-tool from vbcc. Many things will work easy if the tools
- ; good enough. That nobody create such a version (progamming is
- ; very simple) can have only one reason. Nobody has the idea.
- ; If you use PmmTool with filefunction with another link-system or
- ; any other software, please let me know that. Hear from new ideas
- ; or special usages help to build new own ideas.
- ;
-
- ; ATTENTION! Youcan see a special feature her. The function NOMAKE skip's
- ; here (NOMAKE=2,3,8 mean no 68010, 68020 and WarpOS version)
- ; this three CPU versions. Needed for tools, e.g. an program that
- ; is written for the PPC kann skip all mc68k versions.
-
- :BEGIN DOSLIB
- PFAD=Proj:DOSLIB
- NOMAKE=2,3,8
- $5=$6 -I$I
- $$=Lib:DOSLIB_$0$8
- L=PmmLibr F Lib:DosLib_$0 $o
- 7%L=List Proj:DOSLIB/obj/$0/#?.o lformat="ppc-amigaos-ar q Lib:DOSLIB_$0$8 %s%s" >Ram:LibList
- 5%X5=Execute Pmm:Batch/ManProto.s Proj:DOSLIB Include:DOSLIB_protos.h
- Y0=Execute Pmm:Batch/MakeStubAll.s
- 7%Y1=Execute Ram:LibList
- :END
- ;
- ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ;
- ; Next: the first real working demonstration. It will be create the program vc from the
- ; sources, so as includet in vbcc. I only do a little bit more as the makefile
- ; PFAD= path to source
- ; $9= a variable for use in Pmm.Cfg. NOTE that vc must compiled with -DAMIGA
- ; $$= Path and name for the executable. You give little finger, I take the complete
- ; hand, or more! vbcc is able to create versions for 8 cpu-types, If you really
- ; thing about this, you will see, for all cpu's there is only one fpu that will
- ; combined with it. The 68000 or 010 without fpu, 68020 most mit 68881 (or none,
- ; take 68010-version). 68030 in most versions are combined with 68882 (if 881
- ; use 020-version...) and so on. The result of thing so are 6 versions for
- ; mc68k and the ppc. The ppc can be elf and used with PowerUp. Or elh for the
- ; WarpUP/WarpOS. Since vbcc 0.6c both systems useable with vbcc and so, there
- ; will be 8 programs to make. Please, write a makefile, compiling vc with
- ; checking all included .h-files (this demo show the work on .h-files at the
- ; standard-includes). OK, also, makefile, 8 cpu-types, all create single or
- ; all, check includes, update the includes with a depend-scanner, create
- ; prototypes, hold the objects for all 8 versions, hold all 8 created
- ; programs, copy 3 or 4 after build directly to a special path and if you do
- ; that hard work, please change a .h-file. Good, if you remember what
- ; thing all to do for makefile, now note this:
- ; ADOSLIB: LIB 100 .c-files, ca. 1000 .h-files, 8 cpu's, .o-files hold
- ; Port: EXE 124 .c-files, ca 1400 .h-files, 8 cpu's, .o-files hold
- ; And now thing back to makefile with full depending's.
- ; Nobody do that work manually (and without errors!). For Pmm you do the
- ; same thing (not more) as now demonstrated for vc:
- ; First set BEGIN and a label (this is the name for pmm. Input this name
- ; will start the make. Best you take the real programname, here vc. Pmm
- ; can compile from every position, so the pathname must be set. Look PFAD=
- ; for path (PFAD is german word for path. In a future release both word
- ; will work. $9 add to the standard-defines set now -DAMIGA (else we
- ; create a unix-version). For all 8 CPU-Versions you see the pathes and
- ; the executables. from sourcedir a out-dir obj will created and in obj
- ; a subdir for each cpu-type (the will be stored .o and executable). This
- ; is so set for my big programs.
- ; $L link-lib, addon to standard, not active in this demo, vc don't use it.
- ; Bevor reaktive, change to your own addon-libs's.
- ; $o Filename for linker-obj-files
- ; X0 Versionsdumper start here. A Revision-control later come IN Pmm.
- ; Y0 Copy the 68040-version to vbcc-bin-dir. (But not use the realname to
- ; make the demo useable without risiko. At END of the demo you see, 4
- ; from 8 versions that build will be also copy to another name and
- ; place.
- ;
- :BEGIN vc
- PFAD=vbcc://frontend
- $9=-DAMIGA
- $$=obj/$0/vc
- ;
- ; Addon link-libs, only to see how you use own libs.
- ;
- ;$L=-Bsymbolic Lib:DOSLIB_$0$8 Lib:All$9
- ;7%$L=-Bdynamic Lib:DOSLIB_$0$8 Lib:All$9
- 5%X0=Echo "I do nothing, but you must know, normally here starts the versiondumper*Nif the 68040-version must new compiled."
- Y0=Copy obj/$0/vc vbcc://bin/vc_$0
- :END
- ;
- ; that's it with 20-30 lines (cut, paste, edit) you can add a program to make here.
- ; source read in from Pmm and dependings will create also. Pmm takes the full control
- ; on it all. Normal I create the prototypes from script. The Script can found in batch
- ; -dir, Add a line like this directly bevor END
- ; 5%X5=Execute Pmm:Batch/ManProto.s vbcc://frontend MyInclude:vc_protos.h
- ;
-