From: <to...@us...> - 2004-01-20 17:08:49
|
Update of /cvsroot/ro-oslib/OSLib/!OsLib/Source In directory sc8-pr-cvs1:/tmp/cvs-serv10228/OSLib/!OsLib/Source Modified Files: Tag: unix-build .cvsignore Added Files: Tag: unix-build GNUmakefile GNUmakefile.source Log Message: Unix Build --- NEW FILE: GNUmakefile --- # # Makefile for SOURCES under GNU # #------------------------------------------------------------------------ #SOURCEDIR = ${CURDIR} #include GNUmakefile.source #------------------------------------------------------------------------ # paths & directories BINDIR = ${SOURCEDIR}/../Bin CROSSPATH = /home/riscos/cross #------------------------------------------------------------------------ # tools LIBFILE = ${CROSSPATH}/bin/libfile #------------------------------------------------------------------------ #target-specific macros SOURCES = Computer Core Toolbox User OSLIB = OSLib.o OSLIB32 = OSLib32.o HELP = OSLib,3d6 LIST = OSLib.list LIST32 = OSLib32.list #------------------------------------------------------------------------ #targets .PHONY: all help Computer Core Toolbox User Test oslib libs clean all: oslib Test help help: ${HELP} Computer: ;${MAKE} -C $@/oslib all Core: ;${MAKE} -C $@/oslib all Toolbox: ;${MAKE} -C $@/oslib all User: ;${MAKE} -C $@/oslib all Test: ;${MAKE} -C $@ all oslib: ;$(foreach dir, ${SOURCES}, ${MAKE} -C ${dir}/oslib all; ) ${MAKE} list ${MAKE} list32 list: ${OSLIB} ${LIBFILE} -s ${OSLIB} > ${LIST} list32: ${OSLIB32} ${LIBFILE} -s ${OSLIB} > ${LIST32} libs: ;$(foreach dir, ${SOURCES}, ${MAKE} -C ${dir}/oslib libs; ) ${HELP}: $(foreach dir, ${SOURCES}, ${MAKE} -C ${dir}/oslib help; ) ${INDEXHELP} HelpData.action_ -p Action ${INDEXHELP} HelpData.class_ -p Class ${INDEXHELP} HelpData.error_ -p Error ${INDEXHELP} HelpData.message_ -p Message ${INDEXHELP} HelpData.service_ -p Service ${BINDHELP} HelpData $@ clean: ;$(foreach dir, ${SOURCES}, ${MAKE} -C ${dir}/oslib clean; ) -${RM} oslib.o oslib32.o ${LIST} ${LIST32} ${HELP} --- NEW FILE: GNUmakefile.source --- # # Makefile for to include in oslib source GNUmakefiles # # SORURCEDIR must be defined by the caller, and must # point to the top of the source tree. #define MALLOC_CHECK to enable malloc debugging hooks while running defmod #MALLOC_CHECK = MALLOC_CHECK_=1 #------------------------------------------------------------------------ # paths & directories BINDIR = ${SOURCEDIR}/../Bin CROSSPATH = /home/riscos/cross ASPATH = ${CROSSPATH}/bin/arm-riscos-aof/3_3 #------------------------------------------------------------------------ # Source Directories SOURCES = Computer Core Toolbox User INCLUDES = Macros Types ${SOURCES} #------------------------------------------------------------------------ # tools DEFMOD = ${BINDIR}/defmod -q REDUCEAOF = ${BINDIR}/reduceaof INDEXHELP = ${BINDIR}/IndexHelp BINDHELP = ${BINDIR}/BindHelp CP = cp -f RM = rm -f DIFF = diff AS = ${ASPATH}/as -objasm CC = ${CROSSPATH}/bin/gcc LINK = ${CROSSPATH}/bin/gcc LIBFILE = ${CROSSPATH}/bin/libfile #------------------------------------------------------------------------ # macros ALL = ${SWIMODULES} ${MODULES} ${CMODULES} HDRS = $(patsubst %, %.Hdr,${SWIMODULES} ${MODULES}) OBJASM = $(patsubst %, %.s,${SWIMODULES}) OBJASM32 = $(patsubst %, %.s32,${SWIMODULES}) LIBS = $(patsubst %, %.o,${SWIMODULES}) LIBS32 = $(patsubst %, %.o32,${SWIMODULES}) CHEADERS = $(patsubst %, %.h,${SWIMODULES} ${MODULES}) CSTRONG = $(patsubst %, %.help,${SWIMODULES} ${MODULES}) OBJS = $(patsubst %, %.o,${CMODULES}) OBJS32 = $(patsubst %, %.o32,${CMODULES}) FILES = ${LIBS} ${LIBS32} ${OBJASM} ${OBJASM32} ${HDRS} ${CHEADERS} #------------------------------------------------------------------------ # file locations BYTEWIDE = ${SOURCEDIR}/ByteWide HELPDATA = ${SOURCEDIR}/HelpData OSLIB = ${SOURCEDIR}/OSLib.o OSLIB32 = ${SOURCEDIR}/OSLib32.o UNIXLIB = ${CROSSPATH}/bin/arm-riscos-aof/3_3_0/apcs32/arch3/unixlib/unixlib.o #------------------------------------------------------------------------ #helper functions # convert arg to lower case tolower = $(shell echo $(1) | tr '[A-Z]' '[a-z]';) #------------------------------------------------------------------------ # Targets .PHONY: all cstrong hdrs cheaders objasm objasm32 clean regression regression32 all: libs libs32 objasm objasm32 hdrs cheaders objs objs32 libs: ${OSLIB} libs32: ${OSLIB32} cstrong: ${CSTRONG} hdrs: ${HDRS} cheaders: ${CHEADERS} objasm: ${OBJASM} objasm32: ${OBJASM32} objs: ${HDRS} ${OBJS} objs32: ${HDRS} ${OBJS32} clean: @- ${RM} -r l/* @- ${RM} ${FILES} ${CSTRONG} ViaFile @- ${RM} $(call tolower, ${CHEADERS}) regression: -@$(foreach TARGET, ${OBJASM}, \ echo ---- Diffing ${TARGET} against $(basename, $(call tolower, ${TARGET} ) ) ; \ ${DIFF} -y --suppress-common-lines ${TARGET} 's; \ 0/$(basename, $(call tolower, ${TARGET} ) )'; ) regression32: -@$(foreach TARGET, ${OBJASM32}, \ echo ---- Diffing ${TARGET} against $(basename, $(call tolower, ${TARGET} ) ) ; \ ${DIFF} -y --suppress-common-lines ${TARGET} 's32; \ 0/$(basename, $(call tolower, ${TARGET} ) )'; ) #------------------------------------------------------------------------ # general rules: .SUFFIXES: .SUFFIXES: .o .o32 .h .h++ .swi .ch .Hdr .ah .help .s .s32 .asm .swi.s: ;${DEFMOD} -s -byte_wide ${BYTEWIDE} < $< > $@ .swi.s32: ;${DEFMOD} -s -byte_wide ${BYTEWIDE} -32bit < $< > $@ .swi.h++: ;${DEFMOD} -h++ < $< > $@ .swi.Hdr: ;${DEFMOD} -hdr < $< > $@ .swi.ch: ;${DEFMOD} -chelp < $< > $@ .swi.ah: ;${DEFMOD} -asmhelp < $< > $@ .swi.h: ;${DEFMOD} -h < $< > $(call tolower, $@) @touch $@ .swi.o: ;@echo making $@ @if [ ! -d l ]; then mkdir l; fi; @env PATH=${ASPATH}:${PATH} ${MALLOC_CHECK} \ ${DEFMOD} -l -o l/$* -byte_wide ${BYTEWIDE} < $< ${REDUCEAOF} -via ViaFile ${LIBFILE} -c $@ -v ViaFile @-if [ -a ${OSLIB} ]; then ${LIBFILE} -d ${OSLIB} -v ViaFile; fi; ${LIBFILE} -i ${OSLIB} -v ViaFile ${RM} ViaFile ${RM} -r l/$* .swi.o32: ;@echo making $@ @if [ ! -d l ]; then mkdir l; fi; @env PATH=${ASPATH}:$PATH ${MALLOC_CHECK} \ ${DEFMOD} -l -o l/$* -byte_wide ${BYTEWIDE} -32bit < $< ${REDUCEAOF} -via ViaFile ${LIBFILE} -c $@ -v ViaFile @-if [ -a ${OSLIB32} ]; then ${LIBFILE} -d ${OSLIB32} -v ViaFile; fi; ${LIBFILE} -i ${OSLIB32} -v ViaFile ${RM} ViaFile ${RM} -r l/$* .swi.help: @if [ ! -d ${HELPDATA} ]; then mkdir ${HELPDATA}; fi; ${DEFMOD} -cstrong -o ${HELPDATA} < $< @touch $@ .asm.o: ;${AS} -I.. -I${SOURCEDIR}/Types -o $@ $< .asm.o32: ;${AS} -target SA110 -apcs32 -I.. -I${SOURCEDIR}/Types -o $@ $< #------------------------------------------------------------------------ Index: .cvsignore =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/.cvsignore,v retrieving revision 1.5 retrieving revision 1.5.4.1 diff -C2 -d -r1.5 -r1.5.4.1 *** .cvsignore 27 Nov 2002 22:10:58 -0000 1.5 --- .cvsignore 20 Jan 2004 17:08:46 -0000 1.5.4.1 *************** *** 4,5 **** --- 4,6 ---- *.o,* o + *.list |