home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 4 / AACD04.ISO / AACD / Programming / PMM / Make / DemoConfig_ENG / Projekt < prev    next >
Encoding:
Text File  |  1999-11-12  |  9.4 KB  |  180 lines

  1. ; This is a project. Here are a lot of setup's, the programs
  2. ; and the phadnames for source, objects und exe-files.
  3. ; The *-entry is a general setting, it will work as default
  4. ; The programs can use it or set own setup's
  5. ; $1, $2 ... $9 (This are variables for pmm.cfg)
  6. ; $$.c=  Phat to source, if not identical with PFAD=
  7. ;
  8. ; Important:
  9. ; This file is only use by the compiler. The pathes that will be
  10. ; scan for include by the depend-scanner comes from pmm.userincludes.
  11. ; pmm.userincludes: every line ONE scanpath. Don't set pathes to the
  12. ; compilerincludes. Only include/libraries if you really use that.
  13. ; Else alle include-.h-files are checked everytime you start compiling
  14. ; and that cost many time for nothing.
  15. ; After a compilerupdate where the .h-files really changed best work
  16. ; is to remake all files.
  17. ; Note, that the depend-pathes are used for all programs same. The
  18. ; sourcedirectory is everytime another and only the real include-dir's
  19. ; are scanned.
  20. ; The depend look everytime at the source-home-dir of the program.
  21. ; The compiler dosn't do that. Use the pseudoinclude -I$I to set
  22. ; up the homedir for the compiler. Pmm do this not alone, because
  23. ; I will be open in for all things in future.
  24. ;
  25. ; Lines with MAKE at the beginning:
  26. ; First the 1%, 2% ... etc. now become content
  27. ; MAKE=5    means: Start Pmm without a makeoption (like only make) internal
  28. ;                  use is equal 5 that set as 68040 in my default).
  29. ; MAKE:xyz=1,2,3   This means, if you start pmm with -o xyz the system
  30.                    make the type 1, 2 and 3. 
  31. ; MAKE:ALL=....    Important! This set what be happend if Pmm is starting
  32. ;                  with A, Q, I or -o ALL.
  33. ; This all are additives to pmm.cfg. But there are more things:
  34. ;
  35. ; Source and other files:
  36. ; $&.c is source.c     Preprozessor Input  ( .c -> vcpp )
  37. ; $&.i is soirce.i     Preprozessor Output ( .c -> vcpp -> .i )
  38. ; $&.a is source.asm   Compiler Output     ( .i -> vbcc -> .asm )
  39. ; $&.s is source.s     Compiler Output     ( .i -> vbcc -> .s (vsc) -> .asm )
  40. ; $&.o is source.o     Assembler Output    ( .asm -> Assembler -> .o [ -> Linker] )
  41. ; $$   is PROGRAMM     Letzter Output (Programm, Library, Lib etc.)
  42. ; vsc is the scheduler, look at the vbcc-doc's for warpos!!!
  43. ; All there things done automaticly by pmm. .i, .a, .s and .o will used to
  44. ; specify the path-names. $$ specify the program that will be create. If you
  45. ; specify none a.out will be createt at the actual sourcedir. Look downline
  46. ; $L defines the additive .Lib or .a-Files for the linker.
  47. ;
  48. ; Why here and not in Pmm.Cfg. Because the settings here in pmm.cfg are
  49. ; correct for most (all) times. Setup includes here must changed if you
  50. ; begin another project. In future I will support multiple projects and
  51. ; so it is easy to work at every project with his own way.
  52. ; Warum dieser Eintrag, ginge doch genauso gut in Pmm.Cfg?. Also do
  53. ; all things here that not generell standard at you amiga.
  54. ;
  55. ; Take notice of BEGIN * and look at the next textblock:
  56. ;
  57. :BEGIN *
  58. MAKE=5
  59. MAKE:60=5,6
  60. MAKE:PPC=7,8
  61. MAKE:ALL=1,2,3,4,5,6,7,8
  62. $&.o=obj/$0/
  63. $&.i=T:
  64. $&.a=T:
  65. $&.s=T:
  66. $$=a.out
  67. $L=-Bsymbolic Lib:DOSLIB_$0$8 Lib:All$9
  68. 7%$L=-Bdynamic Lib:DOSLIB_$0$8 Lib:All$9
  69. :END
  70. ;    <- The END in the line bevor wil ending this config. From this line down
  71. ;       it is allowed to set a new BEGIN. $o is name of a temporary file.
  72. ;       after compile all source to object's the list of objectfiles will be
  73. ;       find in it. Pmm creates the list and it will be read from PmmLibr
  74. ;       or the Linkers. Look in Pmm.Cfg for more details.
  75. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  76. ;
  77. ; Demonstartion --- no function ---
  78. ; ---------------------------------
  79. ; DOSLIB is a SPECIAL, the linker will be replaced with PmmLibr.
  80. ;        This is the way, I ccreate all source-link-lib's. Only the
  81. ;        stub-libs will created by own way with batches. To go the
  82. ;         simple way with the link-list that will create by pmm I programming
  83. ;        the a function in PmmLibr, read object-list from file. So it is
  84. ;        very simple now. Look at PPC-Version with the ar-command. First
  85. ;        a complete ar-libr-batch must be created (with list an lformat).
  86. ;        After that the batch executed. Yes, it work, but not so quick and
  87. ;        not so "beatifull". To use a file as inputfile with PmmLibr use
  88. ;        the new option F. PmmLibr or a other libr with this option can
  89. ;        with minimal changes included in any compile-help-system. As example
  90. ;        the vc-tool from vbcc. Many things will work easy if the tools
  91. ;        good enough. That nobody create such a version (progamming is
  92. ;        very simple) can have only one reason. Nobody has the idea.
  93. ;        If you use PmmTool with filefunction with another link-system or
  94. ;        any other software, please let me know that. Hear from new ideas
  95. ;        or special usages help to build new own ideas.
  96. ;
  97.  
  98. ; ATTENTION! Youcan  see a special feature her. The function NOMAKE skip's
  99. ;            here (NOMAKE=2,3,8 mean no 68010, 68020 and WarpOS version)
  100. ;            this three CPU versions. Needed for tools, e.g. an program that
  101. ;            is written for the PPC kann skip all mc68k versions.
  102.  
  103. :BEGIN DOSLIB
  104. PFAD=Proj:DOSLIB
  105. NOMAKE=2,3,8
  106. $5=$6 -I$I
  107. $$=Lib:DOSLIB_$0$8
  108. L=PmmLibr F Lib:DosLib_$0 $o
  109. 7%L=List Proj:DOSLIB/obj/$0/#?.o lformat="ppc-amigaos-ar q Lib:DOSLIB_$0$8 %s%s" >Ram:LibList
  110. 5%X5=Execute Pmm:Batch/ManProto.s Proj:DOSLIB Include:DOSLIB_protos.h
  111. Y0=Execute Pmm:Batch/MakeStubAll.s
  112. 7%Y1=Execute Ram:LibList
  113. :END
  114. ;
  115. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  116. ;
  117. ; Next: the first real working demonstration. It will be create the program vc from the
  118. ;          sources, so as includet in vbcc. I only do a little bit more as the makefile
  119. ; PFAD=    path to source
  120. ; $9=      a variable for use in Pmm.Cfg. NOTE that vc must compiled with -DAMIGA
  121. ; $$=      Path and name for the executable. You give little finger, I take the complete
  122. ;          hand, or more! vbcc is able to create versions for 8 cpu-types, If you really
  123. ;          thing about this, you will see, for all cpu's there is only one fpu that will
  124. ;          combined with it. The 68000 or 010 without fpu, 68020 most mit 68881 (or none,
  125. ;          take 68010-version). 68030 in most versions are combined with 68882 (if 881
  126. ;          use 020-version...) and so on. The result of thing so are 6 versions for
  127. ;          mc68k and the ppc. The ppc can be elf and used with PowerUp. Or elh for the
  128. ;          WarpUP/WarpOS. Since vbcc 0.6c both systems useable with vbcc and so, there
  129. ;          will be 8 programs to make. Please, write a makefile, compiling vc with
  130. ;          checking all included .h-files (this demo show the work on .h-files at the
  131. ;          standard-includes). OK, also, makefile, 8 cpu-types, all create single or
  132. ;          all, check includes, update the includes with a depend-scanner, create
  133. ;          prototypes, hold the objects for all 8 versions, hold all 8 created
  134. ;          programs, copy 3 or 4 after build directly to a special path and if you do
  135. ;          that hard work, please change a .h-file. Good, if you remember what
  136. ;          thing all to do for makefile, now note this:
  137. ;          ADOSLIB: LIB 100 .c-files, ca. 1000 .h-files, 8 cpu's,  .o-files hold
  138. ;          Port:    EXE 124 .c-files, ca  1400 .h-files, 8 cpu's, .o-files hold
  139. ;          And now thing back to makefile with full depending's.
  140. ;          Nobody do that work manually (and without errors!). For Pmm you do the
  141. ;          same thing (not more) as now demonstrated for vc:
  142. ;          First set BEGIN and a label (this is the name for pmm. Input this name
  143. ;          will start the make. Best you take the real programname, here vc. Pmm
  144. ;          can compile from every position, so the pathname must be set. Look PFAD=
  145. ;          for path (PFAD is german word for path. In a future release both word
  146. ;          will work. $9 add to the standard-defines set now -DAMIGA (else we
  147. ;          create a unix-version). For all 8 CPU-Versions you see the pathes and
  148. ;          the executables. from sourcedir a out-dir obj will created and in obj
  149. ;          a subdir for each cpu-type (the will be stored .o and executable). This
  150. ;          is so set for my big programs.
  151. ; $L       link-lib, addon to standard, not active in this demo, vc don't use it.
  152. ;          Bevor reaktive, change to your own addon-libs's.
  153. ; $o       Filename for linker-obj-files
  154. ; X0       Versionsdumper start here. A Revision-control later come IN Pmm.
  155. ; Y0       Copy the 68040-version to vbcc-bin-dir. (But not use the realname to
  156. ;          make the demo useable without risiko. At END of the demo you see, 4
  157. ;          from 8 versions that build will be also copy to another name and
  158. ;          place.
  159. ;
  160. :BEGIN vc
  161. PFAD=vbcc://frontend
  162. $9=-DAMIGA
  163. $$=obj/$0/vc
  164. ;
  165. ;     Addon link-libs, only to see how you use own libs.
  166. ;
  167. ;$L=-Bsymbolic Lib:DOSLIB_$0$8 Lib:All$9
  168. ;7%$L=-Bdynamic Lib:DOSLIB_$0$8 Lib:All$9
  169. 5%X0=Echo "I do nothing, but you must know, normally here starts the versiondumper*Nif the 68040-version must new compiled."
  170. Y0=Copy obj/$0/vc vbcc://bin/vc_$0
  171. :END
  172. ;
  173. ; that's it with 20-30 lines (cut, paste, edit) you can add a program to make here.
  174. ; source read in from Pmm and dependings will create also. Pmm takes the full control
  175. ; on it all. Normal I create the prototypes from script. The Script can found in batch
  176. ; -dir, Add a line like this directly bevor END
  177. ; 5%X5=Execute Pmm:Batch/ManProto.s vbcc://frontend MyInclude:vc_protos.h
  178. ;
  179.