X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=Makefile;h=4b4794c36c6da95053d84dfbc5721e3db016064e;hb=30058c43d5963b139c91800a51705917020722ae;hp=5815903d08b882aa62158e70c48e946e5c5acaca;hpb=d7844af4fb768f2a8697f04fae51674971626bc8;p=eval.git diff --git a/Makefile b/Makefile index 5815903..4b4794c 100644 --- a/Makefile +++ b/Makefile @@ -1,53 +1,41 @@ -# Makefile for mo-eval and related utilities -# (c) 2007 Martin Mares +# Makefile for MO-Eval +# (c) 2008--2009 Martin Mares VERSION=1.0.99-20080220 -#DEBUG=-ggdb -CFLAGS=-O2 -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wredundant-decls -Winline $(DEBUG) -std=gnu99 -#CC=gcc-4.1.1 - -# Comment out if you are using a recent gcc -CFLAGS+=-Wno-pointer-sign -Wdisabled-optimization -Wno-missing-field-initializers - -# Comment out if you do not wish to build remote submit utilities -#SUBMIT=submit -#LIBUCW:=$(shell cd ../holmes-libs-3.12/run && pwd) - -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 - -src/box.o: src/box.c src/syscall-table.h - -src/syscall-table.h: - src/mk-syscall-table - -submit: - -clean:: - rm -f `find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core` - rm -f src/syscall-table.h - rm -f bin/box bin/iwrapper bin/md5crypt bin/pedant - -distclean: clean - -ifdef SUBMIT +# The default target +all: runtree programs datafiles configs + +# Include configuration +s=. +-include obj/config.mk +obj/config.mk: + @echo "You need to run configure first." && false + +# 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 of these libraries +TESTS= +endif -submit: - $(MAKE) -C submit +include $(s)/box/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