#!/bin/env php <?php require("inc_vars.php"); require("inc_functions.php"); $INFILE="$selfdir/src/amcli.php"; $INCFILE="$selfdir/src/include_checks.php"; $TMPFILE="$selfdir/$dirBuild/amcli.php.tmp"; $OUTFILE="$selfdir/$dirPackages/".str_replace('.php', '', basename($INFILE)).$myosextension; $OUTFILE2="$selfdir/$dirPackages/".str_replace('.php', '', basename($INFILE)).'_'.$myos.'_'.$myarchitecture.$myosextension; echo " B U I L D E R "; _chdir($selfdir); _mkdir($dirPackages); // ---------------------------------------------------------------------- _h1("Check target file"); if(file_exists($OUTFILE)){ $ts_in=filemtime($INFILE); $ts_out=filemtime($OUTFILE); if($ts_in>$ts_out){ echo "✅ INFO: Source file \"$INFILE\" is newer than \"$OUTFILE\". Compiling changes...\n"; } else { echo "🔹 INFO: Source is unchanged since last build... rebuilding it anyway.\n"; } } else { echo "✅ INFO: Target \"$OUTFILE\" does not exist yet.\n"; } // ---------------------------------------------------------------------- _h1("Prepare source"); $in=file_get_contents($INFILE); $inccode=file_get_contents($INCFILE); $inccode=str_replace("<?php", "", $inccode); $tempcode=preg_replace("#\/\/ ---MARK---INCLUDE-CHECKS---START---.*---MARK---INCLUDE-CHECKS---END#s", "$inccode", $in); if(file_put_contents($TMPFILE, $tempcode)){ _ok("$TMPFILE was written"); } // ---------------------------------------------------------------------- _h1("Compile"); _chdir("$selfdir/$dirBuild"); _exec("$SPC \ micro:combine \ \"$TMPFILE\" \ -O \"$OUTFILE\""); // if(unlink($TMPFILE)){ // echo "Cleanup: $TMPFILE was deleted\n"; // } // ---------------------------------------------------------------------- _h1("Test generated binary"); _exec("file \"$OUTFILE\""); _exec("\"$OUTFILE\" --ini=../src/simple.ini"); _h1("Write architecture specific binary"); _exec("cp \"$OUTFILE\" '$OUTFILE2'"); // ---------------------------------------------------------------------- _h1("Done: Build was successful."); // ----------------------------------------------------------------------