home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 4 / AACD04.ISO / AACD / Programming / PMM / Doku / DemoConfig / Pmm.Cfg < prev    next >
Encoding:
Text File  |  1999-11-15  |  6.1 KB  |  242 lines

  1. ; Allgemeines Compiler-Script
  2. ; ---------------------------
  3. ; Defines, Setting usw. für CPU-Typen: 1-6 = 68k, 7 & 8 PPC / WOS
  4. ; $C = CPU/FPU für Compiler ($D=defines)
  5. ; Nicht gesetzte Werte werden ignoriert.
  6. ; Hier als Beispiel: 6x  m68k-Config / 68000 Standardvorgabe
  7. ;                    2x  PPC, einmal PowerUP und einmal WarpOS
  8. ; Anmerkung: Pmm und alle Pmm-Tools werden ORIGINAL mit diesem Script auf
  9. ;            vbcc 0.6e übersetzt. Ebenso Gateway-5, die gateway.library
  10. ;            und auch meine interne Link-Lib.
  11. ; <-- (; = Kommentar)
  12. # <-- Für Make-Fan's      (# = Kommentar)
  13. ;
  14.  
  15.  
  16.  
  17. ; Leerzeilen sind zulässig!
  18. ; -------------------------
  19.  
  20.  
  21.  
  22. ; Allgemeines Compiler-Script
  23. ;
  24. ; Defines, Setting usw. für CPU-Typen: 1-6 = 68k, 7 & 8 PPC / WOS
  25. ; $C = CPU/FPU für Compiler
  26. ; $D = Defines mit CPU/FPU
  27. ; $E = Pfad der machinenabhängigen Includes
  28. ; $F = Pfad zu ebensolchen Link-Libs
  29. ; Nicht gesetzte Werte werden ignoriert.
  30. ;
  31. $C=-cpu=68000
  32. $D=-DCPU="68000" -DFPU="N/A"
  33.  
  34. $E=vinclude
  35. $F=vlib
  36. ;
  37. 2%$C=-cpu=68010
  38. 2%$D=-DCPU="68010" -DFPU="N/A"
  39. ;
  40. 3%$C=-cpu=68020 -fpu=68881
  41. 3%$D=-DCPU="68020" -DFPU="68881"
  42. ;
  43. 4%$C=-cpu=68030 -fpu=68882
  44. 4%$D=-DCPU="68030" -DFPU="68882"
  45. ;
  46. 5%$C=-cpu=68040 -fpu=68040
  47. 5%$D=-DCPU="68040" -DFPU="FPU040"
  48. ;
  49. 6%$C=-cpu=68060 -fpu=68060
  50. 6%$D=-DCPU="68060" -DFPU="FPU060"
  51. ;
  52. 7%$C=-cpu=ppc
  53. 7%$D=-DCPU="PPC" -DFPU="PowerUP"
  54.  
  55. 7%$E=vincludeppc
  56. 7%$F=vlibppc
  57. ;
  58. 8%$C=-cpu=wos
  59. 8%$D=-DCPU="PPC" -DFPU="WarpOS"
  60.  
  61. 8%$E=vincludewos
  62. 8%$F=vlibwos
  63.  
  64. $0=000
  65. 2%$0=010
  66. 3%$0=020
  67. 4%$0=030
  68. 5%$0=040
  69. 6%$0=060
  70. 7%$0=PPC
  71. 8%$0=WOS
  72. ;
  73. $7=$F:mieee.lib
  74. 2%$7=$F:mieee.lib
  75. 3%$7=$F:m881.lib
  76. 4%$7=$F:m881.lib
  77. 5%$7=$F:m040.lib
  78. 6%$7=$F:m040.lib
  79. 7%$7=-lm
  80. 8%$7=-lm
  81. ;
  82. $8=.lib
  83. 7%$8=.a
  84. ;
  85. $9=$8
  86. 5%$9=_$0$8
  87. 6%$9=_040$8
  88. 7%$9=_$0$8
  89. 8%$9=_$0$8
  90.  
  91. ;
  92. ; Vorgabewerte, wenn für das Feld nichts gesetzt ist:
  93. ;
  94. $1=-no-preprocessor
  95. 7%$1=-no-preprocessor -elf -no-regnames -no-multiple-ccs
  96. 8%$1=-no-preprocessor -amiga-align -poweropen -sc -no-multiple-ccs -use-lmw -peephole
  97.  
  98. $2=-O=991 -maxoptpasses=50
  99.  
  100. $o=T:PmmObjFileList
  101. ;
  102. ; Zu 1%, 2% usw. siehe DOKU!
  103. ;
  104.  
  105. ;
  106. ; Vorgabewerte, wenn für das Feld nichts gesetzt ist:
  107. ; ------------- VORSICHT! Optimizer auf 3 ist gefährlich (BETA) !!!
  108. ;               Nach meiner Erfahrung läuft der Optimizer ab V0.6e
  109. ; Bei der Meldung: ">>> VAR <name> is used bevor defined"
  110. ; sofort auf -O=1 gehen. Sonst ist ein Absturz im Programm
  111. ; garantiert! Unter mindestens 16 MB freiem Speicher ist das auch
  112. ; nicht zu empfehlen!                            Anm. der Autorin
  113. ; $1, $2 ... $0 sind einfach Variablen, der Witz ist, das sie hier definiert
  114. ;         werden, aber für jedes Projekt und jedes Programm einzeln
  115. ;         übersteuert werden können.
  116. ;
  117. $1=-no-preprocessor
  118. 7%$1=-no-preprocessor -elf -no-regnames -no-multiple-ccs
  119. 8%$1=-no-preprocessor -amiga-align -poweropen -sc -no-multiple-ccs -use-lmw -peephole
  120. ;
  121. ; Default's:
  122. ;
  123. $2=-O=991 -maxoptpasses=50
  124. $o=T:ObjLinkList
  125. ;
  126. ; Für Linker: CPU-Typ wird geprüft
  127. ;
  128. $3=$F:startup.o
  129. 8%$3=$F:warpup.o
  130. ;
  131. $4=$7 $F:vc$8 $F:amiga$8 $F:extra$8
  132. 7%$4=$7 -lamiga -lextra -lvc -lpowerup
  133. 8%$4=$7 -lamiga -lextra -lvc $F:x.o
  134. ;
  135. ; Includes
  136. ;
  137. $5=-I$E: -I$I
  138. ;
  139. ; Pre-Prozessor
  140. ;
  141. P=vcpp_wos $5 -D__STDC__=1 -+ $D $&.c $&.i
  142. 7%P=vcpp_wos $5 -D__STDC__=1 -+ $D $&.c $&.i
  143. 8%P=vcpp_wos $5 -D__STDC__=1 -D__VBCC__=1 -D__PPC__=1 -+ $D $&.c $&.i
  144. ;
  145. ; C-Compiler:
  146. ;
  147. C=vbccm68k_wos $&.i -o= $&.a -quiet $C $1 $2
  148. 7%C=vbccppc_wos $&.i -o= $&.a -quiet $C $1 $2
  149. 8%C=vbccppc_wos $&.i -o= $&.a -quiet $C $1 $2
  150. ;
  151. ; Scheduler
  152. ; INAKTIV außer bei WarpOS
  153. ;
  154. S=
  155. 7%S=vscppc_wos -quiet $&.a $&.s
  156. 8%S=vscppc_wos -quiet $&.a $&.s
  157. ;
  158. ; Assembler
  159. ;
  160. A=PhxAss noexe quiet opt 3 M=0 $&.a TO $&.o
  161. 2%A=PhxAss noexe quiet opt 3 M=1 $&.a TO $&.o
  162. 3%A=PhxAss noexe quiet opt 3 M=2 FPU=1 $&.a TO $&.o
  163. 4%A=PhxAss noexe quiet opt 3 M=3 FPU=1 $&.a TO $&.o
  164. 5%A=PhxAss noexe quiet opt 3 M=4 $&.a TO $&.o
  165. 6%A=PhxAss noexe quiet opt 3 M=6 $&.a TO $&.o
  166. 7%A=pasm_wos -R -F1 -O65536 $&.s -o $&.o
  167. 8%A=pasm_wos -F2 -O65536 $&.s -o $&.o
  168. ;
  169. ; Linker (PhxLnk: @ übergibt eine Datei in der alle .o-Files gelistet sind!)
  170. ;        (GNU-ld: < dito, aber über Standard-Input)
  171. ;        (vlink: -F für File)
  172. ;
  173. ; Beim Start des Linker's mit Optionen, Link-Lib's und Objekten geht ziemlich
  174. ; schnell der Platz aus. Vor allem, wenn noch Pfadangaben hinzukommen. Das Tool
  175. ; vc vom vbcc unterscheidet wann eine Datei und wann eine Liste übergeben wird.
  176. ; Ich habe mich nur gefragt, wieso eigentlich? Wenn ich gleich die Datei ver-
  177. ; wende habe ich es einheitlich und es funktioniert in jedem Fall, ob ein, 10
  178. ; oder 100 Objekte. Alle Linker haben die Funktion ohnehin, also habe ich auf
  179. ; die ÜÜbergabe als Parameterliste verzichtet und übergebe immer die Datei.
  180. ; Der Dateiname ist per $o definiert.
  181. ;
  182. ;
  183. ;L=PhxLnk $3 @$o $L $4 TO $$
  184. ;7%L=ppc-amigaos-ld -r -L /$F $3 <$o $4 $L -o $$
  185. ;
  186. L=vlink_wos -s -sc -sd -x -dn $3 -F$o $L $4 -o $$
  187. 7%L=vlink_wos -belf32powerup -s -sc -sd -nostdlib -L$F: $3 -F$o $4 $L -o $$
  188. 8%L=vlink_wos -bamigaehf -s -sc -sd -nostdlib -L$F: $3 -F$o $L $4 -o $$
  189. ; CLI-Kommandos ausführen, wenn
  190. ;
  191. ; X0-X9 VOR dem ersten Compilerkommando (P, C, S, A) für Versionspflege
  192. ;       oder Sicherungen.
  193. ;
  194. ; Y0-Y9 NACH dem Link (wenn erfolgreich), z.B. für Arbeitskopien, Update-
  195. ;       systeme etc.
  196. ;
  197. ; R#: Programm starten, Cleanup oder alles andere was passieren soll.
  198. ;     Wird eine Compilerstufe nicht eingesetzt entfallen auch die R-Zeilen!
  199. ;
  200. ; R0:  VOR P - nur wenn auch P ausgeführt wird
  201. ; R1: NACH P - nur wenn auch P ausgeführt wird und ein Output-File vorliegt
  202. ; R2:  VOR C - nur wenn auch C ausgeführt wird
  203. ; R3: NACH C - nur wenn auch C ausgeführt wird und ein Output-File vorliegt
  204. ; R4:  VOR S - nur wenn auch S ausgeführt wird
  205. ; R5: NACH S - nur wenn auch S ausgeführt wird und ein Output-File vorliegt
  206. ; R6:  VOR A - nur wenn auch A ausgeführt wird
  207. ; R7: NACH A - nur wenn auch A ausgeführt wird und ein Output-File vorliegt
  208. ; R8:  VOR L - nur wenn auch L ausgeführt wird
  209. ; R9: NACH L - nur wenn auch L ausgeführt wird und ein Output-File vorliegt
  210. ; TIP: Wenn die Zeilen nicht reichen: 'Batches' oder 'Arexx' einsetzen!
  211. ;
  212. R7=Delete $&.i $&.a
  213. 8%R7=Delete $&.i $&.a $&.s
  214. R9=Delete $o
  215. ;
  216. ; Sicher ist sicher! Deshalb UNBEDINGT aufräumen!
  217. ;
  218. X0=PmmTool -m obj/$0
  219. X1=;
  220. X2=;
  221. X3=;
  222. X4=;
  223. X5=;
  224. X6=;
  225. X7=;
  226. X8=;
  227. X9=;
  228.  
  229. Y0=;
  230. Y1=;
  231. Y2=;
  232. Y3=;
  233. Y4=;
  234. Y5=;
  235. Y6=;
  236. Y7=;
  237. Y8=;
  238. Y9=;
  239.