X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=Makefile;h=86f91d8638841bc6541e6f50df461c8a21932ece;hb=1636b318830d64ec5c393d1a2d043f595f0342c4;hp=8598a419f807bd162b0ec7c2156bf44cd41e8e48;hpb=3489d81b2eb9ea723e10de8c12e8a07908d4a82b;p=eval.git diff --git a/Makefile b/Makefile index 8598a41..86f91d8 100644 --- a/Makefile +++ b/Makefile @@ -1,45 +1,48 @@ -# Makefile for mo-eval and related utilities -# (c) 2007 Martin Mares +# Makefile for Moe +# (c) 2008--2012 Martin Mares -VERSION=1.0.1 -#DEBUG=-ggdb -CFLAGS=-O2 -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wredundant-decls -Winline $(DEBUG) -std=gnu99 +VERSION=2.0 -# Comment out if you are using a recent gcc -CFLAGS+=-Wno-pointer-sign -Wdisabled-optimization -Wno-missing-field-initializers +# The default target +all:: runtree programs datafiles configs -# Comment out if you do not wish to build remote submit utilities -SUBMIT=submit -LIBUCW:=$(shell cd ../holmes-libs-3.12/run && pwd) +# Include configuration +s=. +-include obj/config.mk +obj/config.mk: + @echo "You need to run configure first." && false -export LIBUCW CFLAGS LDFLAGS DEBUG - -all: bin/box bin/iwrapper bin/md5crypt bin/pedant $(SUBMIT) - -bin/%: src/%.o - $(CC) $(LDFLAGS) -o $@ $^ - -bin/box: src/box.o -bin/iwrapper: src/iwrapper.o -bin/md5crypt: src/md5crypt.o src/md5.o -bin/pedant: src/pedant.o - -submit: - -clean:: - rm -f `find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core` - rm -f bin/box bin/iwrapper bin/md5crypt bin/pedant - -distclean: clean +ifdef CONFIG_DOC +all:: docs +endif -ifdef SUBMIT +# We will use the libucw build system +BUILDSYS=$(s)/build +include $(BUILDSYS)/Maketop + +# Include makefiles of libraries we wish to use +ifdef CONFIG_UCW_LIBS +include $(s)/ucw/Makefile +include $(s)/sherlock/Makefile +# Disable built-in tests and documentation of these libraries +TESTS= +DOCS= +DOC_INDICES= +endif -submit: - $(MAKE) -C submit +include $(s)/box/Makefile +include $(s)/isolate/Makefile +include $(s)/utils/Makefile +include $(s)/eval/Makefile +include $(s)/judge/Makefile -clean:: - $(MAKE) -C submit clean +ifdef CONFIG_SUBMIT +include $(s)/submit/Makefile +endif +ifdef CONFIG_MOP +include $(s)/mop/Makefile endif -.PHONY: all clean distclean submit +# And finally the default rules of the build system +include $(BUILDSYS)/Makebottom