diff --git a/README.md b/README.md index c092b0e..dcda19a 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,9 @@ Use the provided Makefile to build - adjust the paths to OctaSTD and libcubescript if necessary. There is a provided example build script in `example`. +It's also possible to build OctaBuild with OctaBuild. There is a provided +obuild.cfg in the main directory. + The octabuild binary supports the `-h` option to display help. ## License diff --git a/obuild.cfg b/obuild.cfg new file mode 100644 index 0000000..d4f4bc9 --- /dev/null +++ b/obuild.cfg @@ -0,0 +1,36 @@ +CXX = (getenv CXX c++) + +OB_CXXFLAGS = "-g -Wall -Wextra -O2" + +CUBESCRIPT_PATH = "../libcubescript" +OCTASTD_PATH = "../octastd" + +FILES = [main.o globs.o cubescript.o] + +OB_CXXFLAGS = [@OB_CXXFLAGS -std=c++11 -I. -I@CUBESCRIPT_PATH -I@OCTASTD_PATH -pthread] + +rule obuild $FILES [ + echo " LD" $target + shell $CXX $OB_CXXFLAGS -o obuild $sources +] + +rule cubescript.o [@CUBESCRIPT_PATH/cubescript.cc] [ + echo " CXX" $target + shell $CXX $OB_CXXFLAGS -c -o $target $source +] + +rule %.o %.cc [ + echo " CXX" $target + shell $CXX $OB_CXXFLAGS -c -o $target $source +] + +action clean [ + echo " CLEAN" $FILES obuild + shell rm -f $FILES obuild +] + +depend main.o globs.hh tpool.hh [@CUBESCRIPT_PATH/cubescript.hh] +depend globs.o globs.hh [@CUBESCRIPT_PATH/cubescript.hh] +depend cubescript.o [@CUBESCRIPT_PATH/cubescript.hh] + +rule default obuild \ No newline at end of file