From: Tony v. d. H. <to...@us...> - 2004-05-03 15:04:19
|
Update of /cvsroot/ro-oslib/OSLib/!OsLib/Source/Test/Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13995/!OsLib/Source/Test/Test Modified Files: .cvsignore Make,fd7 test.cc Added Files: AMUmakefile GNUmakefile mkhdr.c test.s Removed Files: Clean_All,fd7 Clean_cc,fd7 Make_cc,fd7 Make_cpp,fd7 Make_gcc,fd7 Make_gpp,fd7 Run_gcc,fd7 Run_gpp,fd7 Log Message: merged Unix-Build back into trunk (20040503-1) Index: .cvsignore =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/Test/Test/.cvsignore,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** .cvsignore 27 Nov 2002 22:10:59 -0000 1.5 --- .cvsignore 3 May 2004 15:03:27 -0000 1.6 *************** *** 1,2 **** --- 1,5 ---- + *,ff8 + h + Hdr bin o Index: test.cc =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/Test/Test/test.cc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** test.cc 28 Mar 2004 10:34:02 -0000 1.5 --- test.cc 3 May 2004 15:03:28 -0000 1.6 *************** *** 107,111 **** std:: #endif ! cout << text << "\n"; return 0; --- 107,111 ---- std:: #endif ! cout << text << "\n"; return 0; --- Make_cc,fd7 DELETED --- --- Clean_All,fd7 DELETED --- --- NEW FILE: GNUmakefile --- # Index: OSLib/!OsLib/Source/Test/Test/GNUmakefile 20040121 #=================================================================== #------------------------------------------------------------------------ # paths & directories SOURCEDIR = ../.. BINDIR = ${SOURCEDIR}/../Bin CROSSPATH = /home/riscos/cross #------------------------------------------------------------------------ #target-specific macros SOURCES_0 = Computer Core Toolbox User SOURCES = ${SOURCES_0} Types Macros CONTENTS = $(addsuffix /oslib/Modules, $(addprefix ${SOURCEDIR}/, ${SOURCES_0}) ) OSLIB = ${SOURCEDIR}/OSLib.o OSLIB32 = ${SOURCEDIR}/OSLib32.o OSLIB_H = oslib.h OSLIB_HH = OSLib.Hdr INCLUDES = $(addprefix -I${SOURCEDIR}/, ${SOURCES} ) ASOPTIONS = $(shell echo -objasm -apcs32 $(addprefix -I${SOURCEDIR}/, ${SOURCES} ) | \ sed 's/ /,/g' ) #------------------------------------------------------------------------ # tools AS = ${CROSSPATH}/bin/gcc -xassembler -Wa,${ASOPTIONS} GCC = ${CROSSPATH}/bin/gcc GPP = ${CROSSPATH}/bin/g++ LD = ${CROSSPATH}/bin/gcc RM = rm -f include ${CONTENTS} #------------------------------------------------------------------------ # Targets: .PHONY: all clean TEST_C = test_c TEST_CPP = test_cpp TEST_S = test_s BIN_C = ${TEST_C},ff8 BIN_CPP = ${TEST_CPP},ff8 BIN_S = ${TEST_S},ff8 all: ${BIN_C} ${BIN_CPP} ${BIN_S} ${OSLIB_H}: ${CONTENTS} @echo ${MODULES} ${SWIMODULES} | \ tr '[A-Z]' '[a-z]' | \ sed 's/ /\n/g' | \ sed 's/.*/#include \"oslib\/&.h\"/g' \ > $@ ${OSLIB_HH}: ${CONTENTS} @echo $(sort ${MODULES} ${SWIMODULES} Types Macros) | \ sed 's/ /\n/g' | \ sed 's/.*/\tGET\toslib\/&.Hdr/g' \ > $@ ${TEST_S}.o: test.s ${OSLIB_HH} ${AS} -c $< -o $@ ${BIN_S}: ${TEST_S}.o ${OSLIB} ${LD} $^ -o $@ ${TEST_C}.o: test.c ${OSLIB_H} ${GCC} -c $< ${INCLUDES} -o $@ ${BIN_C}: ${TEST_C}.o ${OSLIB} ${LD} $^ -o $@ ${TEST_CPP}.o: test.cc ${OSLIB_H} ${GPP} -c $< ${INCLUDES} -o $@ ${BIN_CPP}: ${TEST_CPP}.o ${OSLIB} ${GPP} $^ -o $@ clean: ;-${RM} \ ${BIN_C} \ ${TEST_C}.o \ ${BIN_CPP} \ ${TEST_CPP}.o \ ${BIN_S} \ ${TEST_S}.o \ ${OSLIB_H} \ ${OSLIB_HH} --- NEW FILE: mkhdr.c --- /* mkhdr.c ** Make a header file out of a list of modules ** syntax: mkhdr [-c -s] <hdrfile> {<module> ...} */ #include <ctype.h> #include <stdio.h> #include <string.h> #include <time.h> //#define DEBUG typedef enum { mode_NONE, mode_C, mode_ASM, } mode_t; #define TMP_SIZ 64 static int ToLower( char *dest, const char *src, int max ) { int chars = 0; while ( (*src != '\0') && (chars < max) ) { *dest++ = (char)tolower( *src++ ); chars++; } *dest = '\0'; return chars; } int main (int argc, const char **argv) { int status = 0; mode_t mode = mode_NONE; FILE *hdr = 0; fprintf( stderr, "mkhdr " __DATE__ " ©Tony van der Hoff\n\n" ); if ( argc < 4 ) { fprintf( stderr, "Usage:\tmkhdr [options] hdrfile module1 module2 ... moduleN\n\n" "Options:\t-c:\tgenerate c-style header file\n" "\t\t-s:\tgenerate objasm-style header file\n" ); status = -1; } if ( status == 0 ) { #ifdef DEBUG fprintf( stderr, "Option: %s\n" "Output: %s\n" , argv[1] , argv[2] ); for ( int i = 3; i < argc; ++i ) { fprintf( stderr, "%s ", argv[i] ); } fputs( "\n",stderr ); #endif if ( strcmp( argv[1], "-s" ) == 0 ) mode = mode_ASM; else if ( strcmp( argv[1], "-c" ) == 0 ) mode = mode_C; if ( mode == mode_NONE ) { fprintf( stderr, "Error: invalid or no translation mode defined\n" ); status = -1; } } if (status == 0) { hdr = fopen( argv[2], "w" ); if ( hdr == 0 ) { fprintf( stderr, "Error: File %s failed to open\n", argv[2] ); status = -1; } else { } } if (status == 0) { time_t tim = time( 0 ); switch ( mode ) { case mode_C: fprintf( hdr, "/* %s - Generated by mkhdr [" __DATE__ "] on %s */\n", argv[2], ctime( &tim ) ); break; case mode_ASM: fprintf( hdr, ";%s - Generated by mkhdr [" __DATE__ "] on %s\n", argv[2], ctime( &tim ) ); break; } for ( int i = 3; i < argc; ++i ) { char temp[ TMP_SIZ ]; switch ( mode ) { case mode_C: ToLower( temp, argv[i], TMP_SIZ ); fprintf( hdr, "#include \"oslib/%s.h\"\n", temp ); break; case mode_ASM: fprintf( hdr, //"\tGET\toslib.Hdr.%s\n", "\tGET\toslib/%s.Hdr\n", argv[i] ); break; } /* end switch */ } /* end for */ switch ( mode ) { case mode_ASM: fprintf( hdr, "\tEND\n" ); break; } } /* status == 0 */ if ( hdr ) fclose( hdr ); return status; } --- Clean_cc,fd7 DELETED --- --- Make_cpp,fd7 DELETED --- --- Run_gpp,fd7 DELETED --- --- Make_gpp,fd7 DELETED --- Index: Make,fd7 =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/Test/Test/Make,fd7,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Make,fd7 2 Dec 2002 18:28:11 -0000 1.4 --- Make,fd7 3 May 2004 15:03:28 -0000 1.5 *************** *** 3,7 **** Echo <sys$time> Building <Obey$Dir> Wimpslot 4000k ! if "<C$Mode>"= 32 then Do AMU -D -f <Obey$Dir>.Makefile -desktop alltargets DIR=<Obey$Dir> APCS=32 OSLib=32 ! if "<C$Mode>"<>32 then Do AMU -D -f <Obey$Dir>.Makefile -desktop alltargets DIR=<Obey$Dir> APCS=26 echo <sys$time> done \ No newline at end of file --- 3,7 ---- Echo <sys$time> Building <Obey$Dir> Wimpslot 4000k ! if "<C$Mode>"= 32 then Do AMU -D -f <Obey$Dir>.AMUmakefile -desktop %0 APCS=32 ! if "<C$Mode>"<>32 then Do AMU -D -f <Obey$Dir>.AMUmakefile -desktop %0 APCS=26 echo <sys$time> done \ No newline at end of file --- NEW FILE: AMUmakefile --- # Index: OSLib/!OsLib/Source/Test/Test/AMUmakefile 20031230 #=================================================================== #------------------------------------------------------------------------ # paths & directories SOURCEDIR = <OSLib$SourceDir> #BINDIR = ${SOURCEDIR}/../Bin #------------------------------------------------------------------------ # Macros #------------------------------------------------------------------------ #target-specific macros SOURCES_0 = Computer Core Toolbox User SOURCES = ${SOURCES_0} Types Macros CONTENTS = $(addsuffix .oslib.Modules, $(addprefix ${SOURCEDIR}., ${SOURCES_0}) ) OSLIB = ${SOURCEDIR}.o.OSLib OSLIB32 = ${SOURCEDIR}.o.OSLib32 OSLIB_H = h.oslib OSLIB_HDR = Hdr.OSLib #LIBS_S = OSLibSupport:OSLibSupport.o #LIBS_OS = OSLib:o.OSLib #LIBS_GPP = -liostream #LIBS_C = C:o.stubs #LIBS_CPP = C:o.C++Lib C:o.Stubs ifeq (APCS,32) OS_LIB = ${OSLIB32} else OS_LIB = ${OSLIB} endif .include ${CONTENTS} #------------------------------------------------------------------------ # tools MAKE = amu -desktop APCS=${APCS} FLAGS_CC = fah #DEP = -depend !depend CC = cc -apcs 3/${APCS} ${DEP} -f${FLAGS_CC} -throwback CPP = c++ -apcs 3/${APCS} -c -throwback GCC = gcc -mthrowback GPP = gcc -xc++ -mthrowback AS = do objasm LD = Link RM = rm -nq MD = cdir STRIP = StripDepends CP = copy COPYFLAGS = A~C~DFLN~P~Q~R~S~T~V #------------------------------------------------------------------------ # Targets: .PHONY: all clean TEST_C = test_c TEST_CPP = test_cpp TEST_S = test_s BIN_C = ${TEST_C} BIN_CPP = ${TEST_CPP} BIN_S = ${TEST_S} all: ${BIN_CPP} ${BIN_C} ${BIN_S} ${OSLIB_H}: ${CONTENTS} mkhdr ${MD} h @/${MAKEFILEDIR}.mkhdr -c $@ $(sort ${MODULES} ${SWIMODULES} Types Macros) ${OSLIB_HDR}: ${CONTENTS} mkhdr ${MD} Hdr @/${MAKEFILEDIR}.mkhdr -s $@ $(sort ${MODULES} ${SWIMODULES} Types Macros) mkhdr: mkhdr.c ${MD} o ${CC} -o $@ mkhdr.c ${TEST_S}.o: test.s ${OSLIB_HDR} ${MD} o ${AS} -c test.s -o $@ -I <OSLib$Path> ${BIN_S}: ${TEST_S}.o ${OS_LIB} ${LD} ${TEST_S}.o -o $@ /${MAKEFILEDIR}.$@ ${TEST_C}.o: test.c ${OSLIB_H} ${MD} o ${CC} -c test.c -IC:,OSLib: -o $@ ${BIN_C}: ${TEST_C}.o ${OS_LIB} ${LD} ${TEST_C}.o C:stubs.o ${OS_LIB} -o $@ /${MAKEFILEDIR}.$@ ${TEST_CPP}.o: cc.test ${OSLIB_H} ${MD} o ${CPP} -c cc.test -IC:,OSLib: -o $@ ${BIN_CPP}: ${TEST_CPP}.o ${OS_LIB} ${LD} -C++ $? C:C++Lib.o C:stubs.o -o $@ /${MAKEFILEDIR}.$@ clean: ;-${RM} \ ${BIN_C} \ o.${TEST_C} \ ${BIN_CPP} \ o.${TEST_CPP} \ ${BIN_S} \ o.${TEST_S} \ ${OSLIB_H} \ ${OSLIB_Hdr} \ mkhdr \ o.mkhdr distclean: clean ${RM} o Hdr h #------------------------------------------------------------------------ # Dynamic dependencies: --- Run_gcc,fd7 DELETED --- --- NEW FILE: test.s --- ;test assembler headers ; faffing about with directory name to get ObjAsm to behave properly GET ../Test/OSLib.Hdr ; gets all OSLib headers ; GET Hdr.OSLib ; alternative format for OBJASM EXPORT |entry| EXPORT |exit| AREA code, CODE ENTRY |entry| SWI XOS_GetEnv ; get the environment MOVVS pc, lr ; exit on error MOV sp, r1 ; set up a stack STMFD sp!, {lr} ; save the return address ADR R0, message ; write the message std out SWI OS_Write0 SWI OS_NewLine |exit| ldmfd sp!, {pc} ; return message = "Hello World from ObjAsm",0 END --- Make_gcc,fd7 DELETED --- |