[Folco@folco ~]$ su Password: [root@folco Folco]# cd /mnt/Data/Programmation/Programmes/pedrom/src/ [root@folco src]# ls ./c/ bitmap.c clipline.c ellipse.c files.c float.c md5.c md5.h PedroM-Internal.c PedroM-Internal.h printf.c qsort.c side.c
[root@folco src]# make echo " dc.b" \"`date -u +"[%Y%m%d %k:%M]"`\" > version.h tigcc -c --cut-ranges --optimize-code -WA,-ic -WA,-i../../preos//src -WA,-vTI89 PedroM.asm -o PedroM.89.o 68000 Assembler - version 2.71.F3w (Jul 27, 2006) Copyright 1985 by Brian R. Anderson AmigaDOS conversion copyright 1991 by Charlie Gibbs. Adapted for use with Fargo by David Ellsworth. Bugfixes and additions by Julien Muchembled, Paul Froissart and Kevin Kofler Assembling PedroM.asm PASS 1 line 12355 PASS 2 line 12355 End of assembly - no errors were found. Heap usage: -w4095,408 Total hunk sizes: 6028 code, 0 data, 0 BSS cd ../bin && make make[1]: Entering directory `/mnt/Data/Programmation/Programmes/pedrom/bin' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/mnt/Data/Programmation/Programmes/pedrom/bin' ../bin/strip ../../preos//stdlib.9xz stdlib.bin tigcc -c --cut-ranges --optimize-code -WA,-ic -WA,-i../../preos//src -WA,-vTI89 PedroM2.asm -o PedroM2.89.o 68000 Assembler - version 2.71.F3w (Jul 27, 2006) Copyright 1985 by Brian R. Anderson AmigaDOS conversion copyright 1991 by Charlie Gibbs. Adapted for use with Fargo by David Ellsworth. Bugfixes and additions by Julien Muchembled, Paul Froissart and Kevin Kofler Assembling PedroM2.asm PASS 1 line 19001 PASS 2 line 19001 End of assembly - no errors were found. Heap usage: -w4095,408 Total hunk sizes: 10b38 code, 0 data, 0 BSS tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/files.c -o c/files.89.o tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/printf.c -o c/printf.89.o c/printf.c: In function 'vcbprintf_display_number': c/printf.c:54: warning: dereferencing type-punned pointer will break strict-aliasing rules tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/clipline.c -o c/clipline.89.o tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/bitmap.c -o c/bitmap.89.o tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/qsort.c -o c/qsort.89.o tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/md5.c -o c/md5.89.o tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/float.c -o c/float.89.o tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/ellipse.c -o c/ellipse.89.o tigcc --cut-ranges --optimize-code -Os -fomit-frame-pointer -Wall -W -fno-builtin -I. -Ic -DPEDROM -DTI89 -c c/side.c -o c/side.89.o ../bin/ld-tigcc/ld-tigcc -v --flash-os --flash-os-bss-start=0x5B00 --outputbin --cut-ranges --optimize-code ../bin/flashos/flashos.a PedroM.89.o PedroM2.89.o Bss.89.o c/files.89.o c/printf.89.o c/clipline.89.o c/bitmap.89.o c/qsort.89.o c/md5.89.o c/float.89.o c/ellipse.89.o c/side.89.o tools -o PedroM Warning: Flash OS support in TIGCC is experimental. tools: Error: Unable to open file. Target Calculators: TI-89 Program Statistics: Program Variable Name: main\pedrom Program Variable Size: 122247 Bytes BSS Size: 10232 Bytes Absolute Relocs: 0 Natively Emitted Relocs: 0 Relocs Removed by Branch Optimization: 619 Relocs Removed by Move Optimization: 304 Relocs Removed by Test Optimization: 10 Relocs Removed by Calc Optimization: 13 Relocs Removable by F-Line Jumps: 1779 Space Saved by Range-Cutting: 1960 Bytes mv -f PedroM-89.tib .. [and log for other calcs]
[root@folco src]# ls ./c/ bitmap.89.o clipline.89.o ellipse.89.o files.89.o float.89.o md5.89.o md5.v2.o printf.9x.o qsort.9x.o side.9x.o bitmap.89t.o clipline.89t.o ellipse.89t.o files.89t.o float.89t.o md5.89t.o PedroM-Internal.c printf.c qsort.c side.c bitmap.9x.o clipline.9x.o ellipse.9x.o files.9x.o float.9x.o md5.9x.o PedroM-Internal.h printf.v2.o qsort.v2.o side.v2.o bitmap.c clipline.c ellipse.c files.c float.c md5.c printf.89.o qsort.89.o side.89.o bitmap.v2.o clipline.v2.o ellipse.v2.o files.v2.o float.v2.o md5.h printf.89t.o qsort.89t.o side.89t.o [root@folco src]# ls Bcd.asm Bss.asm Const.h Flash.asm Ints.asm Long.asm Misc.asm PedroM2.v2.o PedroM.v2.o ShellIO.asm unpack.asm version.h Boot.asm Bss.v2.o Dialog.asm Fontes.bin Kernel.asm Makefile PedroM2.89.o PedroM.89.o Process.asm stdlib.bin Vars.h Window.asm Bss.89.o Builtin.asm Estack2.asm Graph.asm lib Makefile~ PedroM2.89t.o PedroM.89t.o RomCalls.h Strings.asm Vat.asm Bss.89t.o c Estack.asm Graph.asm~ Library.asm Memstr.asm PedroM2.9x.o PedroM.9x.o RomVoid.asm System.asm Vectors.asm Bss.9x.o Cert.asm Extra.asm Heap.asm Link.asm Misc2.asm PedroM2.asm PedroM.asm Script.asm Tib.asm Vectors.h [root@folco src]#
# Run: # make GPL=1 to build a pure GPL version (without stdlib) # make CAS=1 to build with GMP/MPFR/MAY # If you change the build options, don't forget to do a 'make clean' before PREOS=../../preos/ PREOS_SRC=$(PREOS)/src PREOS_STDLIB=$(PREOS)/stdlib.9xz GPL= CAS= CHECK= ############################################################################## FLASH_OS_BSS_START=0x5B00 DEFS= OPTIONAL_PACKAGES= ifeq ($(GPL),1) DEFS+= -WA,-vGPL endif ifeq ($(CAS),1) DEFS+= -WA,-vUSE_MAIN_PROGRAM OPTIONAL_PACKAGES=lib/t-ihm.o lib/libmay.a lib/libmpfr.a lib/libgmp.a endif ifeq ($(CHECK),GMP) DEFS+= -WA,-vUSE_MAIN_PROGRAM OPTIONAL_PACKAGES=lib/test-gmp.o lib/libtests-gmp.a lib/libmay.a lib/libmpfr.a lib/libgmp.a endif ifeq ($(CHECK),MPFR) DEFS+= -WA,-vUSE_MAIN_PROGRAM -WA,-vINCREASE_STACK_SIZE OPTIONAL_PACKAGES=lib/test-mpfr.o lib/libtests-mpfr.a lib/libmay.a lib/libmpfr.a lib/libgmp.a endif ifeq ($(CHECK),IEEE754) DEFS+= -WA,-vUSE_MAIN_PROGRAM OPTIONAL_PACKAGES=lib/tst-ieee754.o lib/libmay.a lib/libmpfr.a lib/libgmp.a endif ############################################################################## LDFLAGS=--cut-ranges --optimize-code CFLAGS=-Os -fomit-frame-pointer -Wall -W -fno-builtin INCLUDES=-I. -Ic S2ASM=../bin/s2asm CC=tigcc $(LDFLAGS) AS=tigcc -c $(LDFLAGS) -WA,-ic -WA,-i$(PREOS_SRC) $(DEFS) LD=../bin/ld-tigcc/ld-tigcc -v --flash-os --flash-os-bss-start=$(FLASH_OS_BSS_START) --outputbin $(LDFLAGS) ../bin/flashos/flashos.a STRIP=../bin/strip MV=mv -f CP=cp -f ############################################################################## # Define the source files ST1_ASM=Boot.asm Flash.asm System.asm ShellIO.asm Builtin.asm Link.asm Strings.asm Vat.asm Memstr.asm Heap.asm Graph.asm Misc.asm TEXT_ASM=Bcd.asm Estack2.asm Script.asm Estack.asm Ints.asm Long.asm Vectors.asm Cert.asm Kernel.asm Process.asm Window.asm Dialog.asm Library.asm Misc2.asm RomVoid.asm Strings.asm Bss.asm unpack.asm SOURCE_ASM=PedroM.asm PedroM2.asm Bss.asm SOURCE_C=c/files.c c/printf.c c/clipline.c c/bitmap.c c/qsort.c c/md5.c c/float.c c/ellipse.c c/side.c SOURCE=$(patsubst %.c,%.asm,$(SOURCE_C)) OBJ89=$(patsubst %.asm,%.89.o,$(SOURCE_ASM)) $(patsubst %.c,%.89.o,$(SOURCE_C)) OBJ9x=$(patsubst %.asm,%.9x.o,$(SOURCE_ASM)) $(patsubst %.c,%.9x.o,$(SOURCE_C)) OBJV2=$(patsubst %.asm,%.v2.o,$(SOURCE_ASM)) $(patsubst %.c,%.v2.o,$(SOURCE_C)) OBJ89T=$(patsubst %.asm,%.89t.o,$(SOURCE_ASM)) $(patsubst %.c,%.89t.o,$(SOURCE_C)) ############################################################################## # Rules to build for different calculator %.89.o: %.c $(CC) $(CFLAGS) $(INCLUDES) -DPEDROM -DTI89 -c $< -o $@ %.89.o: %.asm $(AS) -WA,-vTI89 $< -o $@ %.9x.o: %.asm $(AS) -WA,-vTI92P $< -o $@ %.9x.o: %.c $(CC) $(CFLAGS) $(INCLUDES) -DPEDROM -DTI92P -c $< -o $@ %.v2.o: %.asm $(AS) -WA,-vV200 $< -o $@ %.v2.o: %.c $(CC) $(CFLAGS) $(INCLUDES) -DPEDROM -DTI92P -c $< -o $@ %.89t.o: %.asm $(AS) -WA,-vTI89TI $< -o $@ %.89t.o: %.c $(CC) $(CFLAGS) $(INCLUDES) -DPEDROM -DTI89 -c $< -o $@ ############################################################################## # Define the default targets. all: pedrom-89 pedrom-9x pedrom-89t pedrom-v200 # Define the targets which are always to be done. .PHONY: version.h clean lib/t-pika.o lib/t-ihm.o $(OPTIONAL_PACKAGES) tools # Define the tool rules tools: cd ../bin && make # Define the dependency of PedroM.asm / PedroM2.asm PedroM.asm: version.h $(ST1_ASM) @touch $@ PedroM2.asm: stdlib.bin $(TEXT_ASM) @touch $@ # Generate stdlib.bin ifeq ($(GPL),1) stdlib.bin: touch stdlib.bin else $(PREOS_STDLIB): cd $(PREOS) && make # Far from perfect stdlib.bin: $(PREOS_STDLIB) tools $(STRIP) $(PREOS_STDLIB) stdlib.bin endif # Generate the current time into an assembly file version.h: echo " dc.b" \"`date -u +"[%Y%m%d %k:%M]"`\" > version.h # Recursive dependency (libgmp.a / libmpfr.a / libmay.a are also done via this build) lib/t-pika.o: cd lib && make t-pika.o lib/t-ihm.o: cd lib && make t-ihm.o lib/test-gmp.o: cd lib && make test-gmp.o lib/test-mpfr.o: cd lib && make test-mpfr.o ############################################################################## # TIB rules pedrom-89: $(OBJ89) $(OPTIONAL_PACKAGES) tools $(LD) $^ -o PedroM $(MV) PedroM-89.tib .. pedrom-9x: $(OBJ9x) $(OPTIONAL_PACKAGES) tools $(LD) $^ -o PedroM $(MV) PedroM-9x.tib .. pedrom-89t: $(OBJ89T) $(OPTIONAL_PACKAGES) tools $(LD) $^ -o PedroM $(MV) PedroM-89ti.tib .. && $(RM) PedroM-89.tib pedrom-v200: $(OBJV2) $(OPTIONAL_PACKAGES) tools $(LD) $^ -o PedroM $(MV) PedroM-v2.tib .. # Clean up clean: $(RM) c/*.asm c/*~ c/*.o version.h *.o *~ *.tib *.lst $(RM) stdlib.bin cd lib && make clean cd ../bin && make clean
[Folco@folco src]$ make echo " dc.b" \"`date -u +"[%Y%m%d %k:%M]"`\" > version.h tigcc -c --cut-ranges --optimize-code -WA,-ic -WA,-i../../preos//src -WA,-vTI89 PedroM.asm -o PedroM.89.o Unable to open object code file. 68000 Assembler - version 2.71.F3w (Jul 27, 2006) Copyright 1985 by Brian R. Anderson AmigaDOS conversion copyright 1991 by Charlie Gibbs. Adapted for use with Fargo by David Ellsworth. Bugfixes and additions by Julien Muchembled, Paul Froissart and Kevin Kofler Usage: a68k <source file> [-a] [-p<page depth>] [-d[[!]<prefix>]] [-q[<quiet interval>]] [-e[<equate file>]] [-r[a][l][m]] [-f] [-s] [-g] [-t] [-h<header file>] [-u] [-i<include dirlist>] [-v<name>[,<value>]] [-k] [-w[<hash size>][,<heap size>]] [-l[<listing file>]] [-x] [-m<small data offset>] [-y] [-n] [-z[<debug start>][,<debug end>]] [-o<object file>] Heap size default: -w4095,2048 make: *** [PedroM.89.o] Error 1 [Folco@folco src]$