# Top part of Makefile for the UCW Libraries
-# (c) 1997--2007 Martin Mares <mj@ucw.cz>
+# (c) 1997--2008 Martin Mares <mj@ucw.cz>
# 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
DIRS=
PROGS=
CONFIGS=
+CONFIG_SRC_DIR=$(CONFIG_DIR)
TESTS=
EXTRA_RUNDIRS=tmp log
INSTALL_RUNDIRS=bin lib
API_INCLUDES=
API_LIBS=
+DOCS=
+DOC_INDICES=
+MANPAGES=
+
# Various files whose type does not fit into PROGS
DATAFILES=
+ifdef CONFIG_DARWIN
+DYNAMIC_LIBRARIES=dylib
+SOEXT=bundle
+HOST_PREFIX=/sw
+else
+DYNAMIC_LIBRARIES=so
+SOEXT=so
+HOST_PREFIX=
+endif
+
ifdef CONFIG_SHARED
-LS=so
+LS=$(DYNAMIC_LIBRARIES)
OS=oo
+PKG_CONFIG_OPTS=
else
LS=a
OS=o
+PKG_CONFIG_OPTS=--static
endif
+LV=$(UCW_ABI_SUFFIX)
-ifdef CONFIG_DARWIN
-SOEXT=bundle
-else
-SOEXT=so
-endif
+SO_RUNDIR=lib
# Whenever "make -s" (silent) is run, turn on verbose mode (paradoxical, but gives the right result)
ifneq ($(findstring s,$(MAKEFLAGS)),)
# Clean needs to be a double-colon rule since we want sub-makefiles to be able
# to define their own cleanup actions.
dust::
- rm -f `find . -path "*~" -or -name "\#*\#" -or -name core`
+ rm -f `find . -path "*~" -or -name "\#*\#"`
rm -f allocs.tmp cscope.out TAGS
clean:: dust
- 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}
+ rm -rf `find obj/ucw -mindepth 1 -maxdepth 1 -not -name autoconf.h`
+ rm -rf `find obj -mindepth 1 -maxdepth 1 -not \( -name config.mk -o -name autoconf.h -o -name ucw \)`
+ rm -rf tests run/{bin,lib,include,.tree-stamp,doc}
distclean:: clean
- rm -rf obj run
+ rm -rf obj run debian-tmp
testclean::
rm -f `find obj -name "*.test"`
+docclean::
+ rm -f $(DOCS) $(patsubst %.html,%.txt,$(DOCS))
+
# Extra default rules (appended to by submakefiles)
extras::
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)