#!/home/nahaj/src/unixperl/rebuild # Directories I use. define SOURCE as /home/nahaj/src/unixperl/ define TOOLS as /home/nahaj/bin/ # tools I use define MAKENEW as {TOOLS}makenew define MAKEINCLUDE as {TOOLS}makeinclude define MAKEMOVE as {TOOLS}makemove define MYTOOLS as {MAKENEW} {MAKEINCLUDE} {MAKEMOVE} define CHMOD as /usr/bin/chmod define MOVE as /usr/bin/mv define COPY as /usr/bin/cp define SYSTOOLS as {CHMOD} {MOVE} {COPY} # For tracking purposes, document what version of tools we are using. tools {MYTOOLS} {SYSTOOLS} # actual stuff to build. # Specificly listed. define GENUTILITIES as rebuild define UTILITIES as treedir printdir define HTMLUTILITIES as htmllinkdir htmldir.cgi define PROGRAMS as {UTILITIES} {HTMLUTILITIES} {GENUTILITIES} # Random dependencies that programs can't guess. test.urlroutines <= url.pl test.pathroutines <= path.pl url.pl <= path.pl treewalk.routines <= url.pl {HTMLUTILITIES} <= dir-vs-html.pl {UTILITIES} {HTMLUTILITIES} <= treewalk.routines # We haven't built anything yet. define BUILT as # My personal conventions. define LIBRARIES as { dir(.) | -f | only(*.pl) } define ROUTINES as { dir(.) | -f | only(*.routines) } define NEEDSELFCONTAINED as {LIBRARIES} {ROUTINES} {UTILITIES} {HTMLUTILITIES} {GENUTILITIES} define THESELFCONTAINED as {{NEEDSELFCONTAINED} | minus (*.selfcontained) | * => *.selfcontained} all <= {THESELFCONTAINED} => echo "Built: {BUILT}" *.selfcontained <= * => {MAKEINCLUDE} {*} {target} => {CHMOD} oug+rx {target} =: define BUILT as {BUILT} {*}.selfcontained