diff --git a/joeylib/build.sh b/joeylib/build.sh index 1dd91da..430a280 100755 --- a/joeylib/build.sh +++ b/joeylib/build.sh @@ -75,15 +75,7 @@ function doIIgsBuild() { iix assemble +L jIIgs.asm keep=31:/out/joey/jIIgsasm > jIIgs.asm.dis iix compile jIIgs.c keep=31:/out/joey/jIIgsc iix compile joey.c keep=31:/out/joey/joey - - iix makelib 31:/out/joey/joeylib +31:/out/joey/jIIgsc.root - iix makelib 31:/out/joey/joeylib +31:/out/joey/jIIgsc.a - iix makelib 31:/out/joey/joeylib +31:/out/joey/joey.a - iix makelib 31:/out/joey/joeylib +31:/out/joey/jIIgsasm.A - iix makelib 31:/out/joey/joeylib +31:/out/joey/jIIgsasm.ROOT - iix compile test.c keep=31:/out/joey/test -# iix -DKeepType=S16 link +L 31:/out/joey/joeylib 31:/out/joey/test keep=31:/out/joey/test > test.map iix -DKeepType=S16 link +L 31:/out/joey/jIIgsc 31:/out/joey/joey 31:/out/joey/jIIgsasm 31:/out/joey/test keep=31:/out/joey/test > test.map iix dumpobj +D 31:/out/joey/test &> test.dis || true @@ -91,7 +83,11 @@ function doIIgsBuild() { php "${JOEY}/sdks/IIgs/ntpconverter/ntpconverter.php" *.mod popd - cp -f "${OUT}/joeylib" "${DIST}/joeylib#b20000" + cp -f "${OUT}/jIIgsc.root" "${DIST}/jIIgsc.root#b10000" + cp -f "${OUT}/jIIgsc.a" "${DIST}/jIIgsc.a#b10000" + cp -f "${OUT}/jIIgsasm.root" "${DIST}/jIIgsasm.root#b10000" + cp -f "${OUT}/jIIgsasm.a" "${DIST}/jIIgsasm.a#b10000" + cp -f "${OUT}/joey.a" "${DIST}/joey.a#b10000" cp -f "${JOEY}/sdks/IIgs/Tool035#ba0000" "${JOEY}/dist/IIgs/." cp -f "${JOEY}/sdks/IIgs/Tool222#ba0000" "${JOEY}/dist/IIgs/." cp -f "${JOEY}/joeylib/scripts/build-IIgs.helper.sh" "${JOEY}/dist/." diff --git a/scripts/build-IIgs.helper.sh b/scripts/build-IIgs.helper.sh index 74c6217..a5729e6 100644 --- a/scripts/build-IIgs.helper.sh +++ b/scripts/build-IIgs.helper.sh @@ -31,22 +31,30 @@ function buildIIgs() { OFILES="" for F in "${CFILES[@]}"; do O=${F%.*} - # If this file is named 'main' we don't add it to the link list until later - if [ "${O}" != "main" ]; then - OFILES="${OFILES} ${GSTARGET}/${O}" - fi + OFILES="${OFILES} ${GSTARGET}/${O}" echo "Compiling ${F}..." iix compile ${F} keep=${GSTARGET}/${O} done - # Be sure 'main' is first in the link list - OFILES="${GSTARGET}/main ${OFILES} ${GSTARGET}/joeylib" # Clean up rm joey.h + echo "Linking ${PROJECT}..." + # We need a local copy of joeylib to link - cp -f ${JOEY}/dist/IIgs/joeylib#b20000 ${TARGET}/joeylib - iix chtyp -t lib ${GSTARGET}/joeylib + cp -f ${JOEY}/dist/IIgs/jIIgsc.a#b10000 ${TARGET}/jIIgsc.a + cp -f ${JOEY}/dist/IIgs/jIIgsc.root#b10000 ${TARGET}/jIIgsc.root + cp -f ${JOEY}/dist/IIgs/jIIgsasm.a#b10000 ${TARGET}/jIIgsasm.a + cp -f ${JOEY}/dist/IIgs/jIIgsasm.root#b10000 ${TARGET}/jIIgsasm.root + cp -f ${JOEY}/dist/IIgs/joey.a#b10000 ${TARGET}/joey.a + iix chtyp -t obj ${GSTARGET}/jIIgsc.a + iix chtyp -t obj ${GSTARGET}/jIIgsc.root + iix chtyp -t obj ${GSTARGET}/jIIgsasm.a + iix chtyp -t obj ${GSTARGET}/jIIgsasm.root + iix chtyp -t obj ${GSTARGET}/joey.a + + # Add our library files to OFILES + OFILES="${GSTARGET}/jIIgsc ${GSTARGET}/joey ${GSTARGET}/jIIgsasm ${OFILES}" # Link our program and create a map file iix -DKeepType=S16 link +L ${OFILES} keep=${GSTARGET}/${PROJECT}#b3db03 > ${PROJECT}.map @@ -55,6 +63,8 @@ function buildIIgs() { iix dumpobj +D ${GSTARGET}/${PROJECT}#b3db03 &> ${PROJECT}.dis || true echo ${OFILES} > ${PROJECT}.lnk + echo "Creating disk image..." + # Be sure our work directories exists mkdir -p ${WORK}/{data,source}