#!/usr/bin/icmake -qt/tmp/xdbuild
#include "icmconf"
#include "icmake/setopt"
#include "icmake/run"
#include "icmake/md"
#include "icmake/special"
#include "icmake/clean"
#include "icmake/manpage"
#include "icmake/install"
string g_cwd = chdir(""); // initial working directory
void main(int argc, list argv)
{
string option;
string strip;
option = argv[1];
if (option == "clean")
clean(0);
if (option == "distclean")
clean(1);
if (option == "install")
install(argv[2], argv[3]);
if (option != "")
special();
if (option == "sourceforge")
exit(0);
if (option == "man")
manpage();
if (option == "library")
{
system("icmbuild library");
exit(0);
}
if (argv[2] == "strip")
strip = "strip";
if (option == "program")
{
system("icmbuild program " + strip);
exit(0);
}
if (option == "oxref")
{
system("icmbuild program " + strip);
run("oxref -fxs tmp/lib" LIBRARY ".a > " PROJECT ".xref");
exit(0);
}
printf("Usage: build [-p] what\n"
"Where `what' is one of:\n"
" clean - clean up remnants of previous "
"compilations\n"
" distclean - clean + fully remove tmp/\n"
" library - build " PROJECT "'s library\n"
" man - build the man-page (requires Yodl)\n"
" program [strip] - build " PROJECT " (optionally strip the\n"
" executable)\n"
" oxref [strip] - same a `program', also builds xref file\n"
" using oxref\n"
" install program [path] - install the program at `path'\n"
" (by default below `" PROJECT "')\n"
" install man [base] - install the man pages below `base'\n"
" (by default below `" MAN "')\n"
" install std [base] - install standard docs below `base'\n"
" (by default below `" STD "')\n"
" sourceforge - prepare sourceforge's index update\n"
"\n"
"If the environment variable DRYRUN is defined, no commands are\n"
"actually executed\n"
"\n"
);
exit(1);
}