X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=build%2FMaketop;h=23d1510adab80077441c93ca042bacb8c3fc6e6b;hb=b5b7b2641b00a18b53c48a1335846133f1d53168;hp=2fa010d0ba7c80a183e7b2b228dad3fd3ba20e26;hpb=050dc4546b7b9b4d6ef701541c0eb88d0e636771;p=libucw.git diff --git a/build/Maketop b/build/Maketop index 2fa010d0..23d1510a 100644 --- a/build/Maketop +++ b/build/Maketop @@ -1,21 +1,22 @@ # Top part of Makefile for the UCW Libraries -# (c) 1997--2007 Martin Mares +# (c) 1997--2008 Martin Mares # Set to 1 if you want verbose output V=0 +# Set to 'y' (or 'n') if you want to auto-confirm (auto-reject) all questions in build/installer +CONFIRM= + # Disable all built-in rules and variables. Speeds up make and simplifies debugging. MAKEFLAGS+=-rR -s=$(SRCDIR) -o=obj - -CFLAGS=$(CLANG) $(COPT) $(CDEBUG) $(CWARNS) -I. -I$(o) -I$(s) -LDFLAGS=$(LOPT) +CFLAGS=$(CLANG) $(COPT) $(CDEBUG) $(CWARNS) $(CEXTRA) -I. -I$(o) -I$(s) +LDFLAGS=$(LOPT) $(LEXTRA) DIRS= PROGS= CONFIGS= +CONFIG_DIR=cf TESTS= EXTRA_RUNDIRS=tmp log INSTALL_RUNDIRS=bin lib @@ -59,20 +60,28 @@ endif # to define their own cleanup actions. dust:: rm -f `find . -path "*~" -or -name "\#*\#" -or -name core` - rm -f allocs.tmp cscope.out + rm -f allocs.tmp cscope.out TAGS clean:: dust - rm -rf obj tests run/bin/* run/lib/* run/include/* run/.tree-stamp TAGS + rm -rf `find obj -mindepth 1 -maxdepth 1 -not \( -name config.mk -o -name autoconf.h \)` + rm -rf tests run/{bin,lib,include,.tree-stamp} distclean:: clean - rm -rf run + rm -rf obj run testclean:: rm -f `find obj -name "*.test"` +docclean:: + rm -f $(DOCS) $(patsubst %.html,%.txt,$(DOCS)) + +# Extra default rules (appended to by submakefiles) +extras:: + # Relative symlinks and other pathname manipulation macros empty:= space:=$(empty) $(empty) backref=$(subst $(space),/,$(patsubst %,..,$(subst /,$(space),$(1)))) tack-on=$(if $(patsubst /%,,$(2)),$(1)/$(2),$(2)) symlink=ln -sf $(call tack-on,$(call backref,$(2)),$(1)) $(2)/ +symlink-alias=ln -sf $(call tack-on,$(call backref,$(2)),$(1)) $(2)/$(3)