home *** CD-ROM | disk | FTP | other *** search
- ; Things that every time used
- ; ---------------------------
- ; CPU-meanigs: 1 = 68000
- ; 2 = 68010
- ; 3 = 68020 / 68881
- ; 4 = 68030 / 68882
- ; 5 = 68040 / FPU 040
- ; 6 = 68060 / FPU 060
- ; 7 = PPC / PowerUP (ELF)
- ; 8 = PPC / WarpOS (ELH)
- ;
- ; $C = CPU/FPU for compiler
- ; $D = CPU/FPU defines for using in source. If not set
- ;
- ; Note: This is the original Pmm/vbcc-script that will be used
- ; to create gateway-5, gateway-library, Pmm and all linkable .LIB
- ;
- ; <-- ( ; EQ comment )
- # <-- ( # EQ comment ) for all make-fan's
- ;
-
-
-
- ; Empty lines are ignored and allowed
- ; -----------------------------------
-
- $C=-cpu=68000
- $D=-DCPU="68000" -DFPU="N/A"
- ;
- 2%$C=-cpu=68010
- 2%$D=-DCPU="68010" -DFPU="N/A"
- ;
- 3%$C=-cpu=68020 -fpu=68881
- 3%$D=-DCPU="68020" -DFPU="68881"
- ;
- 4%$C=-cpu=68030 -fpu=68882
- 4%$D=-DCPU="68030" -DFPU="68882"
- ;
- 5%$C=-cpu=68040 -fpu=68040
- 5%$D=-DCPU="68040" -DFPU="68040"
- ;
- 6%$C=-cpu=68060 -fpu=68060
- 6%$D=-DCPU="68060" -DFPU="68060"
- ;
- 7%$C=-cpu=ppc
- 7%$D=-DCPU="PPC" -DFPU="PowerUP"
- ;
- 8%$C=-cpu=wos
- 8%$D=-DCPU="PPC" -DFPU="WarpOS"
-
- $o=T:LinkerObjListe
- ;
- ; 1%, 2% etc. look document
- ;
-
- ;
- ; Presetvalues that used when the project not set own values.
- ; ------------ DANGER! Set optimizer to maximum can be a problem (BETA) !!!
- ; I find not real problems in the optimizer from V0.6e
- ; Older versions: ">>> VAR <name> is used bevor defined":
- ; Don't use Optimizer higher than -O1. Or you create aa program that crash
- ; if the function with the warning start. If you don't habe a minimum of
- ; 16 MB free ram you can very quick get problem's with memory wenn high
- ; optimizefunctions set.
- ;
- ; $1, $2 ... $0 variables, no internal definition or use. for free useage.
- ;
- ; Next lines:
- ; $1 is set WITHOUT cpu-rule, so it will work from 1 upto 0.
- ; 7%$1 set own value for CPU 7 If line over these line not changed
- ; 8%$1 also set own value for CPU 8 the CPU-7 & 8 are PPC-versions
- ;
- $1=-no-preprocessor
- 7%$1=-no-preprocessor -elf -no-regnames -no-multiple-ccs
- 8%$1=-no-preprocessor -amiga-align -poweropen -sc -no-multiple-ccs -use-lmw -peephole
- ;
- ; CHANGE IF YOU GUT PROBLEMS WITH OPTIMIZER OR RAM
- ;
- $2=-O=991 -maxoptpasses=50
- ;
- ; for linkerdefinitions: CPU-typ will checked
- ;
- $3=vlib:startup.o
- 7%$3=vlibppc:startup.o
- 8%$3=vlibwos:warpup.o
- ;
- $4=vlib:vc.lib vlib:amiga.lib vlib:extra.lib
- 7%$4=-lvc -lamiga -lextra -lpowerup
- 8%$4=vlibwos:vc.lib vlibwos:m.lib vlibwos:amiga.lib vlibwos:extra.lib vlibwos:x.o
- ;
- ; Includes: -I$I = source-directory from project
- ; --------- Set here all Include-Dir's for compiling. Depend
- ; use own definitions.
- ;
- $5=-Ivinclude: -IInclude: -IProj:Library/Include -IProj:Library/Init -I$I
- 7%$5=-Ivincludeppc: -IInclude: -IProj:Library/Include -IProj:Library/Init -I$I
- 8%$5=-Ivincludewos: -IInclude: -IProj:Library/Include -IProj:Library/Init -I$I
- ;
- ; start preprocessor's
- ;
- P=vcpp $5 -D__STDC__=1 -+ $D $&.c $&.i
- 7%P=vcpp $5 -D__STDC__=1 -+ $D $&.c $&.i
- 8%P=vcpp $5 -D__STDC__=1 -D__VBCC__=1 -D__PPC__=1 -+ $D $&.c $&.i
- ;
- ; start compiler
- ;
- C=vbccm68k $&.i -o= $&.a -quiet $C $1 $2
- 7%C=vbccppc $&.i -o= $&.a -quiet $C $1 $2
- 8%C=vbccppc $&.i -o= $&.a -quiet $C $1 $2
- ;
- ; start scheduler (only WarpOS work correct)
- ;
- 8%S=vscppc -quiet $&.a $&.s
- ;
- ; assembler
- ;
- A=PhxAss noexe quiet opt 3 M=0 $&.a TO $&.o
- 2%A=PhxAss noexe quiet opt 3 M=1 $&.a TO $&.o
- 3%A=PhxAss noexe quiet opt 3 M=2 FPU=1 $&.a TO $&.o
- 4%A=PhxAss noexe quiet opt 3 M=3 FPU=1 $&.a TO $&.o
- 5%A=PhxAss noexe quiet opt 3 M=4 $&.a TO $&.o
- 6%A=PhxAss noexe quiet opt 3 M=6 $&.a TO $&.o
- 7%A=pasm_wos -R -F1 -O65536 $&.a -o $&.o
- 8%A=pasm_wos -F2 -O65536 $&.s -o $&.o
- ;
- ; Linker (PhxLnk: @ übergibt eine Datei in der alle .o-Files gelistet sind!)
- ; (GNU-ld: < dito, aber über Standard-Input)
- ; (vlink: -F für File)
- ; PmmLibr from project (extern) simulate a linker and use of F, f, -F, -f or
- ; @ read linker-objectfile
- ;
- ; The linker is the longest commandostart of all. The Link-Libs and other
- ; Libs will use the most bytes from the maximum commandstring. And do anytime
- ; this, else that isn't what I like. So I do all obj-names, everytime a link
- ; must be done, the FIle after $o is bild with a list of all obj-files.
- ; So I 'm shure that the linker become the list so short as possible from
- ; Pmm.
- ;
- ; The Linker obj-list from file $o are used to make the endproduct $$
- ;
- L=vlink -s -sc -sd -x -dn $3 -F$o $L $4 -o $$
- 7%L=vlink -nostdlib -belf32powerup -s -sc -sd -Lvlibppc: -F$o $4 $3 $L -o $$
- 8%L=vlink -bamigaehf -s -sc -sd -x -nostdlib -Lvlibwos: $3 -F$o $L $4 -o $$
- ;
- ; CLI-commands use with control by pmm
- ;
- ; X0-X9 Run this lines if anything must be compile VOR first compiler starts.
- ;
- ; Y0-Y9 Run this Lines after Link. The File $$ (endprodukt) must really be
- ; created
- ;
- ; R#: Run but only at special position and rules:
- ;
- ; R0: VOR P - only if P will be startet
- ; R1:AFTER P - only after start P and output is created
- ; R2: VOR C - only if C will be startet
- ; R3:AFTER C - only after start C and output is created
- ; R4: VOR S - only if S will be startet
- ; R5:AFTER S - only after start S and output is created
- ; R6: VOR A - only if A will be startet
- ; R7:AFTER A - only after start A and output is created
- ; R8: VOR L - only if L will be startet
- ; R9:AFTER L - only after start L and output is created
- ;
- ; HINT: If lines not enough, use batch or arexx
- ;
- ; CleanUp
- ;
- R7=Delete $&.i $&.a
- 8%R7=Delete $&.i $&.a $&.s
- R9=Delete $o
- ;
- ; Create obj-dirs
- ;
- X0=MakeDir >Nil: obj obj/000 obj/010 obj/020 obj/030 obj/040 obj/060 obj/ppc obj/wos
-