divert(-1) dnl ************************************************** dnl Makefile generator for m68k dnl creation du fichier liste_cpus.m4 changequote({,}) syscmd({echo "define(cpus,\`" > cpus.m4}) changequote dnl define(`ArG332',0) dnl define(`ArD332',1) dnl define(`AvD332',2) dnl define(`AvG332',3) define(`Dir332',4) dnl my echo define(`myecho',`syscmd(`echo $1 >>cpus.m4')') dnl comment{comments with balanced curly braces}comment define(`comment_', `changequote({,})patsubst({$1 }, {^}, {# })changequote') define(`comment', `pushdef(`comment', ` changequote)`'popdef(`comment')dnl')changequote({,})comment_(') dnl Macros to be used in $1`'0.68k: define(`arglist', `$1 ifelse($#,1,,`arglist(shift($@))')') define(`cdefile', ` echo $1 >>file_`'ifelse($#,1,,`cdefile(shift($@))')') define(`m4includes_',`define(`m4includes', arglist($@))') define(`m4includes',`') define(`rootObjects_') define(`userObjects_',`define(`userObjects1',`$@') define(`userObjects2',arglist($@)) $(HC)lib`'appli_.a: modifuser(userObjects1) m68k-coff-ar -r $(HC)lib`'appli_.a modifuser(userObjects1)') define(`application_', `define(`appli_', $1)define(`proc_no', 1)define(`procp_no', 1)define(`prock_no', 1)dnl define(`execs_')dnl to accumulate executable files names # Makefile for m68k UNIX cross-compiler # Home directory of macro file 68kexec H=$(rep_macros) B=/afs/inria.fr/rocq/home/sosso/common/mc68332/m68k-coff/lib/ all: executables sinclude($1`'0.68k)dnl includes $1`'0.68k only if it exists ') define(`processor_', `define(`procr_', appli_`'proc_no)dnl ifelse(regexp(`$1',`root'),-1,, ` define(`procrp_',`$(HE)`'appli_`'p`'procp_no') procrp_.m4 : procr_.m4 cp procr_.m4 procrp_.m4 define(`execs_', execs_ procrp_.m4) define(`procp_no', incr(procp_no)) ') ifelse(regexp(`$1',`196'),-1,, ` define(`procrk_', `$(HE)`'appli_`'k`'prock_no') procrk_.m4 : procr_.m4 cp procr_.m4 procrk_.m4 define(`execs_', execs_ procrk_.m4) define(`prock_no', incr(prock_no)) ') undefine(`Dir332') undefine(`ArG332') undefine(`ArD332') undefine(`AvG332') undefine(`AvD332') ifelse(regexp(`$1',`332'),-1,, ` myecho(`$1 ') # processor $1: define(`ArG332',0) dnl define(`ArD332',1) dnl define(`AvD332',2) dnl define(`AvG332',3) dnl define(`Dir332',4) dnl dnl define(`procrl_', `$(HE)`'appli_`'n`'$1') dnl define(`execs_', execs_ procrl_.x) procrl_.s : procr_.m4 $(H)$(nom_noyau) m4includes cp procr_.m4 procrl_.m4 m4 $(H)$(nom_noyau) m4includes procrl_.m4 > procrl_.s procrl_.o : procrl_.s m68k-coff-as -m68332 procrl_.s -o procrl_.o procrl_.x : procrl_.o $(HC)lib`'appli_.a m68k-coff-gcc -m68332 -msoft-float -O -T crt0.ld -L$(B) -L$(HC) procrl_.o -o procrl_.x -l`'appli_ dnl m68k-coff-strip -s procrl_.x dnl echo end >> procrl_.x undefine(`Dir332') undefine(`ArG332') undefine(`ArD332') undefine(`AvG332') undefine(`AvD332') ') define(`proc_no', incr(proc_no))') define(`modifuser',`ifelse($1,,`',`$(HC)$1 modifuser(shift($@))')') define(`bus_')$(HC) define(`connect_') changequote([,]) define([end_], [ changequote({,}) syscmd({echo "')" >> cpus.m4}) changequote executables: execs_ ]) changequote dnl compile_(filename, optionalIncludes) ; for user functions define(`compile_', `pushdef(`ext',substr($1,regexp($1,`\.')))dnl ifelse(ext,`.s', `define(`target_', patsubst($1,`\.s',`.o')) $(HC)target_: $(HC)$1 modifuser(shift($@)) m68k-coff-as -m68332 $(HC)$1 -o $(HC)target_ dnl ', ext,`.c', `define(`target_', patsubst($1,`\.c',`.o')) $(HC)target_: $(HC)$1 modifuser(shift($@)) m68k-coff-gcc -c -m68332 -msoft-float -O $(HC)$1 -o $(HC)target_ m68k-coff-gcc -S -m68332 -msoft-float -O $(HC)$1 -o $(HC)$1.s dnl ', `errprint($1 unknown extension: ext)')') dnl ************************************************** divert`'dnl