ref: 2e2e412d056d214d103bceec96186b35ea45acd1
dir: /mkfiles/libsrc/mkfile.target/
CA65FLAGS= CC65FLAGS=-Or -Werror # For native $O </$cputype/mkfile CC65_HOME=`{cleanname -d `{pwd} ..} AR65=../src/ar65/$O.out CA65=../src/ca65/$O.out CC65=../src/cc65/$O.out LD65=../src/cc65/$O.out ../src/%/$O.out: @{ cd ../src objtype=$cputype mk $stem/$O.out } EXTZP=\ cbm510 \ cbm610 \ lynx TARGETUTIL=\ apple2 \ apple2enh \ atari \ geos-apple GEOSDIRS=\ common \ conio \ disk \ dlgbox \ file \ graph \ memory \ menuicon \ mousesprite \ process \ runtime \ system <defs/common.mk <`{test -r defs/$TARGET.mk && echo defs/$TARGET.mk || echo /dev/null} # It needs a include name SRCDIRS=\ $SRCDIR \ `{~ $TARGET $CBMS && echo cbm} \ `{~ $TARGET $GEOS && for(dir in $GEOSDIRS) {test -d $TARGET/$dir && echo $TARGET/$dir; echo geos-common/$dir}} \ common \ conio \ dbg \ em \ joystick \ mouse \ runtime \ serial \ tgi \ zlib SRC=`{walk $SRCDIRS | grep '\.[cs]$'} # Can we do this with a single namelist instead? OBJ=`{for(f in $SRC) echo $f | sed 's@\.[cs]$@.o@g'} DEPS=${OBJ:%.o=%.d} EXTRASRC=`{walk $SRCDIR | grep $SRCDIR/extra/^'.*\.s$'} EXTRAOBJ=${EXTRASRC:$SRCDIR/extra/%.s=../lib/$TARGET-%.o} DEPS=$DEPS ${EXTRAOBJ:../lib/%.o=$TARGET/%.d} # TODO: Target tools ZPOBJ=$TARGET/zeropage `{~ $TARGET $EXTZP && echo $TARGET/extzp.o} all:V: $TARGET # TODO: drvs # FIXME: Dump temporary assembly under ../libwrk, with .s extension %.o: %.s $CA65 -t $TARGET $CA65FLAGS --create-dep `{echo $target | sed 's@\.o$@\.d@g'} \ -o $target $prereq %.o: %.c $CC65 -t $TARGET $CC65FLAGS --create-dep `{echo $target | sed 's@\.o$@\.d@g'} \ --dep-target $target -o `{echo $target | sed 's@\.o$@\.asm@g'} $prereq $CA65 -t $TARGET -o $target `{echo $target | sed 's@\.o$@\.asm@g'} ../lib/$TARGET-%.o: $SRCDIR/extra/%.s mkdir -p ../lib $CA65 -t $TARGET $CA65FLAGS \ --create-dep `{echo $target | sed 's@^../lib/@'^$TARGET^'/@g;s@\.o$@.d@g'} # TODO: Maintain that as an archive ../lib/$TARGET.lib: $OBJ $AR65 a $target $prereq $TARGET:V: $EXTRAOBJ ../lib/$TARGET.lib