# (c) 2001 jannet it services # contact@jannet.de # $Id$ ifndef JW_BUILD_DEF_MK_INCLUDED JW_BUILD_DEF_MK_INCLUDED = true MAKEFLAGS += -r include $(MODDIR)/make/platform.mk include $(MODDIR)/make/projects.mk ifeq ($(MAKE_BENCHMARK),true) SHELL := /bin/bash $(MOD_SCRIPT_DIR)/timed-make-shell.sh endif # ----- pre-local.mk ifneq ($(wildcard $(MODDIR)/make/pre-local.mk),) include $(MODDIR)/make/pre-local.mk endif ifneq ($(wildcard $(TOPDIR)/make/pre-local.mk),) include $(TOPDIR)/make/pre-local.mk endif ifneq ($(wildcard pre-local.mk),) include pre-local.mk endif # ----- executables WHICH := $(firstword $(wildcard /usr/bin/which) $(shell which which)) SED := $(shell $(WHICH) sed) CAT := /bin/cat #ifeq ($(SHELL),) export SHELL := /bin/bash #endif BROWSER ?= xdg-open RM := $(shell $(WHICH) rm) AR = /usr/bin/ar PWD := $(shell $(WHICH) pwd) CWD := $(shell $(PWD)) BIN_INSTALL := /usr/bin/install SUDO ?= /usr/bin/sudo MY_SHELL := /bin/bash GET_OS_SH := $(SHELL) $(MOD_SCRIPT_DIR)/get-os.sh ID := $(shell $(WHICH) id) CUT := $(shell $(WHICH) cut) TR := $(shell $(WHICH) tr) AWK := $(shell $(WHICH) awk) GETENT := $(shell $(WHICH) getent) XARGS := $(shell $(WHICH) xargs) FIND := $(shell $(WHICH) find) PRINTF := $(shell $(WHICH) printf) # makefile helpers FIND_SUBDIRS := $(filter-out . .. nomake CVS $(IGNORE_SUBDIRS),\ $(patsubst ./%,%,$(patsubst %/,%,$(dir $(shell $(FIND) . -maxdepth 2 -mindepth 2 -a \( -iname Makefile -o -iname GNUmakefile \)))))) SUBDIRS_TO_ITERATE = $(filter-out $(IGNORE_SUBDIRS),$(SUBDIRS)) PKG_SH_EXE := /bin/bash $(MOD_SCRIPT_DIR)/pkg.sh LOG_INSTALL_SH := $(PKG_SH_EXE) log-install UPDATE_REPO_SH := /opt/packager-server/bin/packager-server schedule-rebuild ifdef INSTALL_LINK INSTALL = $(SUDO) $(LOG_INSTALL_SH) -WA $(LOG_INSTALL_EXTRA_OPTS) LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS) else ifdef INSTALL_SYMLINK INSTALL = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS) LINK_LIB = $(SUDO) $(LOG_INSTALL_SH) -LA $(LOG_INSTALL_EXTRA_OPTS) else ifdef INSTALL_LOG INSTALL = $(LOG_INSTALL_SH) -p -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS) LINK_LIB = $(LOG_INSTALL_SH) -L -l $(INSTALL_LOG) $(LOG_INSTALL_EXTRA_OPTS) else ifndef INSTALL INSTALL = install endif ifndef LINK_LIB LINK_LIB = $(LOG_INSTALL_SH) -L endif endif endif # ----- function definitions reverse = $(if $(wordlist 2,2,$(1)),$(call reverse,$(wordlist 2,$(words $(1)),$(1))) $(firstword $(1)),$(1)) define make_subdirs set -e; for D in $(SUBDIRS) ; do make -C $$D ; done endef define make_subdirs_target set -e; for D in $(SUBDIRS) ; do make -C $$D $@; done endef define install_local_cfg $(INSTALL) -p -o $(CFGOWNER) -g $(CFGGROUP) -m $(CFGMODE) $< $@ endef define cvs_files sh $(MOD_SCRIPT_DIR)/scm.sh ls-files -f endef define add_flavour_prefix $(SED) "s/\([^ ][^ ]*\) *\([<>=]*\) *\([^ ]*\)/$(FLAVOUR_PREFIX)\1 \2 \3/g" endef define beautify_lib_path $(SED) 's/:/\n + /g' endef ifeq ($(INCLUDE_REV_IN_VERSIONS),true) version = $(shell $(CAT) $1/VERSION | $(SED) 's/-dev//; s/[ ]*//g') else version = $(shell $(CAT) $1/VERSION | $(SED) 's/-.*//; s/[ ]*//g') endif define install_links cwd="$(CWD)"; \ echo "o in $(INSTALL_$(1)DIR):" ;\ for f in $(notdir $(INSTALLED_$(1))); do \ cd $(INSTALL_$(1)DIR); \ echo " $(SUDO) ln -sf $$cwd/$$f" ; \ $(SUDO) ln -sf $$cwd/$$f; \ done; endef # ----- standard variables ifneq ($(wildcard $(TOPDIR)/.git),) VCS ?= git else ifneq ($(wildcard $(TOPDIR)/CVS),) VCS ?= cvs endif CVSTOPDIR ?= $(PROJECTS_DIR)/.. ifeq ($(PROJECT),) PROJECT := $(shell echo $(patsubst $(FLAVOUR_PREFIX)%,%,$(notdir $(realpath $(TOPDIR)))) | $(SED) 's/-[0-9].*//') endif # ----- host and target variables ifeq ($(OS_TUPLE),) OS_TUPLE := $(shell $(GET_OS_SH) tuple) endif ifneq ($(TARGET_TUPLE),) TARGET_TUPLE_WORDS ?= $(subst -, ,$(TARGET_TUPLE)) TARGET_ARCH ?= $(word 1,$(TARGET_TUPLE_WORDS)) TARGET_VENDOR ?= $(word 2,$(TARGET_TUPLE_WORDS)) TARGET_OS ?= $(word 3,$(TARGET_TUPLE_WORDS)) TARGET_ABI ?= $(word 4,$(TARGET_TUPLE_WORDS)) TARGET_TRIPLET ?= $(TARGET_ARCH)-$(TARGET_OS)-$(TARGET_ABI) else ifneq ($(TARGET_TRIPLET),) TARGET_TRIPLET_WORDS ?= $(subst -, ,$(TARGET_TRIPLET)) TARGET_ARCH ?= $(word 1,$(TARGET_TRIPLET_WORDS)) TARGET_VENDOR ?= unknown TARGET_OS ?= $(word 2,$(TARGET_TRIPLET_WORDS)) TARGET_ABI ?= $(word 3,$(TARGET_TRIPLET_WORDS)) TARGET_TUPLE ?= $(TARGET_ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(TARGET_ABI) else TARGET_TUPLE ?= $(OS_TUPLE) TARGET_TUPLE_WORDS ?= $(subst -, ,$(TARGET_TUPLE)) TARGET_ARCH ?= $(word 1,$(TARGET_TUPLE_WORDS)) TARGET_VENDOR ?= $(word 2,$(TARGET_TUPLE_WORDS)) TARGET_OS ?= $(word 3,$(TARGET_TUPLE_WORDS)) TARGET_ABI ?= $(word 4,$(TARGET_TUPLE_WORDS)) TARGET_TRIPLET ?= $(TARGET_ARCH)-$(TARGET_OS)-$(TARGET_ABI) endif #ifeq ($(TARGET_TUPLE),) # $(error TARGET_TUPLE is undefined) #endif # - support legacy jw-build target variables ifeq ($(TARGET_ABI),mingw32) TARGET ?= mingw else ifeq ($(TARGET_ABI),mingw64) TARGET ?= mingw else TARGET ?= $(TARGET_OS) endif ifeq ($(OS_NAME_VERSION),) OS_NAME_VERSION := $(shell $(GET_OS_SH)) endif ifeq ($(OS_NAME),) OS_NAME := $(shell $(GET_OS_SH) name) endif ARCH ?= $(TARGET_ARCH) ARCH_32 = i586 ifndef ARCH # TODO unreached code, test and fix this ifeq ($(shell uname -m),armv7l) ARCH = armv7hl SYSTEM_LIBDIR_NAME = lib else ifeq ($(shell uname -m),armv6l) ARCH = armv6hl SYSTEM_LIBDIR_NAME = lib else ifeq ($(shell uname -m),aarch64) ARCH = aarch64 SYSTEM_LIBDIR_NAME = lib else ifeq ($(shell uname -m),x86_64) ARCH = x86_64 SYSTEM_LIBDIR_NAME = lib64 else ARCH = $(ARCH_32) SYSTEM_LIBDIR_NAME = lib endif SYSTEM_LIBDIR = /usr/$(SYSTEM_LIBDIR_NAME) endif ifneq ($(TARGET_TUPLE),$(OS_TUPLE)) ifeq ($(TARGET),mingw) FLAVOUR_PREFIX ?= win32- FLAVOUR_SUFFIX ?= -win32 FLAVOUR_PATH_PREFIX ?= win32/ FLAVOUR_PATH_SUFFIX ?= /win32 ifneq ($(wildcard /usr/bin/i686-w64-mingw32-gcc),) MINGW_SYS_ROOT ?= /usr/i686-w64-mingw32/sys-root/mingw endif else FLAVOUR_PREFIX ?= $(TARGET_TRIPLET)- FLAVOUR_SUFFIX ?= -$(TARGET_TRIPLET) FLAVOUR_PATH_PREFIX ?= $(TARGET_TRIPLET)/ FLAVOUR_PATH_SUFFIX ?= /$(TARGET_TRIPLET) endif endif # ----- packaging variables ifneq ($(filter debian%,$(OS_NAME_VERSION)),) PKG_FORMAT ?= debian else PKG_FORMAT ?= rpm endif ifeq ($(PKG_FORMAT),debian) RPM ?= /bin/bash $(MOD_SCRIPT_DIR)/dpm.sh RPM_ARCH := $(shell dpkg --print-architecture) RPM_SUFFIX ?= deb else RPM ?= /bin/rpm RPM_ARCH ?= $(ARCH) RPM_SUFFIX ?= rpm endif ifeq ($(PKG_FORMAT),debian) export INCLUDE_REV_IN_VERSIONS = true endif PROJECT_DESCR_FILE ?= $(wildcard $(TOPDIR)/make/project.conf) PROJECT_SHORT_NAME ?= $(PROJECT) PROJECT_CAPNAME := $(shell echo $(PROJECT) | tr [a-z] [A-Z] | $(SED) 's/-/_/g') PROJECT_DESCR ?= $(call proj_query, summary $(PROJECT)) PROJECT_SUMMARY ?= $(PROJECT_DESCR) CUSTOMER ?= jannet ifneq ($(PROJECT_DESCR_FILE),) ifeq ($(shell grep "^ *subpackages *=.*devel" $(PROJECT_DESCR_FILE)),) CREATE_DEVEL = false endif endif ifeq ($(VERSION),) ifneq ($(wildcard $(VERSION_FILE)),) VERSION := $(shell $(CAT) $(VERSION_FILE)) endif endif DIST_VERSION ?= $(patsubst %-dev,%,$(VERSION)) HEX_VERSION := $(shell echo $(DIST_VERSION) | \ $(SED) 's/-dev//; s/pre[^\.]*//; s/F[^\.]//; s/[\.-]/ /g' | $(XARGS) $(PRINTF) "0x%02x%02x%02x%02x") BINARY_VERSION := $(shell echo $(PROJECT)_$(DIST_VERSION) | tr [a-z] [A-Z] | $(SED) 's/-[^-]*$$//; s/-/_/g') WINVERSION = $(subst .,_,$(VERSION)) LOCAL_VERSION = $(VERSION) LOCAL_WINVERSION = $(subst .,_,$(VERSION)) DIST_VERSION = $(patsubst %-dev,%,$(VERSION)) DIST_WINVERSION = $(patsubst %-dev,%,$(WINVERSION)) LOCAL_DIST_VERSION = $(patsubst %-dev,%,$(LOCAL_VERSION)) LOCAL_DIST_WINVERSION = $(patsubst %-dev,%,$(LOCAL_WINVERSION)) DIST_VERSION_WORDS = $(subst ., ,$(subst -, ,$(DIST_VERSION))) MAJOR_VERSION = $(word 1,$(DIST_VERSION_WORDS)) MINOR_VERSION = $(word 2,$(DIST_VERSION_WORDS)) RELEASE_VERSION = $(word 2,$(DIST_VERSION_WORDS)) BUILD_NUMBER = $(word 4,$(DIST_VERSION_WORDS)) MAJOR_MINOR_RELEASE = $(MAJOR_VERSION).$(MINOR_VERSION).$(RELEASE_VERSION) CVS_RSH ?= /usr/bin/ssh # ----- input dirs JW_BUILD_DIR = $(MODDIR) PROJECT_STEM = $(PROJECT)-$(DIST_VERSION) # only works if checked out true to CVS, i.e. below proj ifeq ($(VCS),cvs) CVS_MODULE = $(shell $(SED) "s%/$$%%" CVS/Repository) CVS_ROOT_DIR = $(patsubst %/$(CVS_MODULE),%,$(CWD)) endif REV_SUBDIRS = $(call reverse $(SUBDIRS)) FRESH_CVSDIR = $(HOME)/local/src/cvs.fresh IMAGE_DIR ?= $(CVS_ROOT_DIR)/images PCKG_DEPS_DIR = $(MODDIR)/make/deps.d PCKG_DEFS_DIR = $(MODDIR)/make/defs.d HDRDIR_SCOPE_SUFFIX ?= $(PROJECT) CONTRIB_MOD += $(addprefix contrib/,$(CONTRIB_LIBS)) REQUIRED := $(CONTRIB_MOD) $(REQUIRED) PUBLIC_PATH_DEVEL_DOC = /proj/devel-docs UPLOAD_URL_DEVEL_DOC = rsync_ssh://root@feitnix.jannet.de:/srv/www/htdocs/jannet.de_443/$(PUBLIC_PATH_DEVEL_DOC) ifeq ($(DEVELOPMENT),true) -include $(MODDIR)/make/defs-dev.mk ifneq ($(wildcard $(TOPDIR)/make/cfg_dev.mk),) -include $(TOPDIR)/make/cfg_dev.mk endif else -include $(MODDIR)/make/defs-dist.mk ifneq ($(wildcard $(TOPDIR)/make/cfg_dist.mk),) -include $(TOPDIR)/make/cfg_dist.mk endif endif IMAGES += $(wildcard *.png *.jpg *.bmp *.gif *.ico *.svg) FONTS += $(wildcard *.woff *.svg) LOCAL_MKFILES ?= $(wildcard GNUmakefile makefile Makefile *.mk) # -- standard dirs and files for build and install # -- CFG INSTALLATION_FILE_TYPES += CFG CONFIG_FILE ?= $(CONFIG_DIR)/$(PROJECT).conf SYSCFG_FILE ?= $(SYSCFG_DIR)/$(PROJECT) BUILD_CFGDIR = $(TOPDIR)/conf ifeq ($(CONFIG_SUBDIR),) INSTALL_CFGDIR ?= $(CONFIG_DIR) else INSTALL_CFGDIR ?= $(CONFIG_DIR)/$(CONFIG_SUBDIR) endif LOCAL_CFG ?= $(filter-out %.site.conf, $(filter-out rsyslog-%, $(wildcard *.conf *.xml *.bprof *.jw-tmpl *.ini))) $(LOCAL_EXTRA_CFG) INSTALLED_CFG ?= $(addprefix $(INSTALL_CFGDIR)/,$(LOCAL_CFG)) # -- SYSCFG INSTALLATION_FILE_TYPES += SYSCFG SYSCFG_FILES += $(basename $(wildcard *.sysconf)) BUILD_SYSCFG = $(TOPDIR)/conf BUILD_SYSCFGDIR = $(BUILD_SYSCFG) INSTALL_SYSCFGDIR ?= $(SYSCFG_DIR) INSTALLED_SYSCFG ?= $(addprefix $(INSTALL_SYSCFGDIR)/,$(SYSCFG_FILES)) # -- HDR INSTALLATION_FILE_TYPES += HDR BUILD_HDRDIR_BASE ?= $(TOPDIR)/include BUILD_HDRDIR ?= $(BUILD_HDRDIR_BASE)/$(HDRDIR_SCOPE_SUFFIX) SRC_H += $(filter %.h %.H %.hpp, $(SRC_ALL_CPP)) BUILD_H = $(addprefix $(BUILD_HDRDIR)/,$(SRC_H)) BUILD_HDR += $(addprefix $(BUILD_HDRDIR)/,$(SRC_H)) INSTALL_HDRDIR ?= $(PREFIX)/include INSTALLED_HDR += $(addprefix $(INSTALL_HDRDIR)/,$(SRC_H)) # -- DOC INSTALLATION_FILE_TYPES += DOC DOCS += $(wildcard VERSION README* CHANGES TODO* LICENSE AUTHORS CREDITS RELEASES *.pdf *.txt *.html) DOCSUBDIRS += $(wildcard html tex info examples src) BUILD_DOCDIR ?= $(TOPDIR)/doc BUILD_DOC ?= $(DOC_PREFIX) INSTALL_DOCDIR ?= $(DOC_PREFIX) INSTALLED_DOC ?= $(addprefix $(INSTALL_DOCDIR)/,$(DOCS)) ## -- PI #BUILD_PIDIR = $(BUILD_LIBDIR) #BUILD_PI = $(addprefix $(BUILD_PIDIR)/,$(PLUGIN)) #INSTALL_PIDIR = $(INSTALL_LIBDIR) #INSTALLED_PI = $(addprefix $(INSTALL_PIDIR)/,$(PLUGIN)) # -- EXE INSTALLATION_FILE_TYPES += EXE EXE_SH += $(filter-out $(DONT_INSTALL),$(wildcard *.sh *.pl *.pm *.py *.bat *.feedfs)) EXE_SH += $(patsubst %.sh.tmpl,%.sh,$(filter-out $(DONT_INSTALL),$(wildcard *.sh.tmpl))) #EXE_ALL += $(EXE) $(wildcard *.a *.dll *.so *.so.*) BUILD_EXE_BIN += $(addprefix $(BUILD_EXEDIR)/,$(EXE) $(EXE_SH)) INSTALLED_EXE_BIN += $(addprefix $(INSTALL_EXEDIR)/,$(EXE_BIN)) BUILD_EXEDIR = $(TOPDIR)/bin INSTALL_EXEDIR ?= $(EXE_PREFIX)/bin BUILD_EXE += $(BUILD_EXE_BIN) INSTALLED_EXE += $(addprefix $(INSTALL_EXEDIR)/,$(EXE) $(EXE_SH)) $(INSTALLED_EXE_BIN) # -- SCRIPT #INSTALLATION_FILE_TYPES += SCRIPT #BUILD_SCRIPTDIR = $(TOPDIR)/bin #INSTALL_SCRIPTDIR ?= $(EXE_PREFIX)/bin #BUILD_SCRIPT += $(addprefix $(BUILD_SCRIPTDIR)/,$(EXE_SH)) #INSTALLED_SCRIPT += $(addprefix $(INSTALL_SCRIPTDIR)/,$(EXE_SH)) # -- CGI INSTALLATION_FILE_TYPES += CGI EXE_CGI += $(filter-out $(DONT_INSTALL),$(wildcard *.cgi)) EXE_CGI += $(patsubst %.cgi.tmpl,%.cgi,$(filter-out $(DONT_INSTALL),$(wildcard *.cgi.tmpl))) BUILD_CGIDIR = $(TOPDIR)/bin INSTALL_CGIDIR = $(CGI_DIR) BUILD_CGI += $(addprefix $(BUILD_CGIDIR)/,$(EXE_CGI)) INSTALLED_CGI += $(addprefix $(INSTALL_CGIDIR)/,$(EXE_CGI)) # -- HTML INSTALLATION_FILE_TYPES += HTML BUILD_HTMLDIR = $(TOPDIR)/htdocs LOCAL_HTML += $(filter-out $(DONT_INSTALL),$(wildcard *.html *.css *.php *.js) $(FONTS) $(IMAGES)) ifeq ($(HTML_SUBDIR),) HTML_SUBDIR := $(shell $(PWD) | $(SED) '/.*\/htdocs\(\/\|$$\)/!d; s%.*/htdocs\(/\|$$\)%%') endif ifeq ($(HTML_SUBDIR),) INSTALL_HTMLDIR ?= $(PROJECT_HTMLDIR) else INSTALL_HTMLDIR ?= $(PROJECT_HTMLDIR)/$(HTML_SUBDIR) endif INSTALLED_HTML += $(addprefix $(INSTALL_HTMLDIR)/,$(LOCAL_HTML)) # -- TMPL INSTALLATION_FILE_TYPES += TMPL BUILD_TMPLDIR = $(TOPDIR)/tmpl LOCAL_TMPL += $(filter-out $(DONT_INSTALL),$(wildcard *.tmpl)) ifndef TMPL_SUBDIR TMPL_SUBDIR := $(shell $(PWD) | $(SED) '/.*\/tmpl\(\/\|$$\)/!d; s%.*/tmpl\(/\|$$\)%%') endif ifeq ($(TMPL_SUBDIR),) INSTALL_TMPLDIR = $(PROJECT_TMPLDIR) else INSTALL_TMPLDIR = $(PROJECT_TMPLDIR)/$(TMPL_SUBDIR) endif INSTALLED_TMPL += $(addprefix $(INSTALL_TMPLDIR)/,$(LOCAL_TMPL)) # -- SYSTEMD INSTALLATION_FILE_TYPES += SYSTEMD BUILD_SYSTEMDDIR = $(TOPDIR)/bin/systemd LOCAL_SYSTEMD += $(filter-out $(DONT_INSTALL),$(wildcard *.service)) INSTALL_SYSTEMDDIR = $(SYSTEMD_DIR) INSTALLED_SYSTEMD += $(addprefix $(INSTALL_SYSTEMDDIR)/,$(LOCAL_SYSTEMD)) # -- INIT INSTALLATION_FILE_TYPES += INIT BUILD_INITDIR = $(TOPDIR)/bin INSTALL_INITDIR = $(INIT_PREFIX)/init.d _INIT_SCRIPTS = $(basename $(filter-out $(DONT_INSTALL),$(wildcard *.init))) INIT_SCRIPTS += $(_INIT_SCRIPTS) BUILD_INIT += $(addprefix $(BUILD_INITDIR)/,$(INIT_SCRIPTS)) INSTALLED_INIT += $(addprefix $(INSTALL_INITDIR)/,$(INIT_SCRIPTS)) # -- MAKE INSTALLATION_FILE_TYPES += MAKE BUILD_MAKEDIR = $(TOPDIR)/make MKFILES += $(filter-out pckg-defs.mk pckg-deps.mk local.mk,$(filter-out $(DONT_INSTALL),$(wildcard *.mk))) INSTALL_MAKEDIR ?= $(PREFIX)/make INSTALLED_MAKE += $(addprefix $(INSTALL_MAKEDIR)/,$(MKFILES)) # -- IMG INSTALLATION_FILE_TYPES += IMG BUILD_IMG ?= BUILD_IMGDIR ?= $(TOPDIR)/images INSTALL_IMGDIR ?= $(IMG_PREFIX)/images INSTALLED_IMG ?= $(addprefix $(INSTALL_IMGDIR)/,$(IMAGES)) # -- MO INSTALLATION_FILE_TYPES += MO BUILD_MO ?= BUILD_MODIR ?= $(CWD) INSTALL_MODIR ?= $(ENV_PREFIX)/usr/share/locale/$(GETTEXT_LOCALE)/LC_MESSAGES INSTALLED_MO ?= $(addprefix $(INSTALL_MODIR)/,$(wildcard *.mo)) # -- LOG INSTALLATION_FILE_TYPES += LOG BUILD_LOGDIR ?= $(TOPDIR)/log BUILD_LOG ?= INSTALL_LOGDIR ?= $(LOG_PREFIX)/$(PROJECT) INSTALLED_LOG ?= # -- PROFILE INSTALLATION_FILE_TYPES += PROFILE # TODO: path_ file is omnipresent BUILD_PROFILEDIR = $(TOPDIR)/profile.d #PROFILE += path_$(PROJECT).sh INSTALL_PROFILEDIR ?= $(PROFILE_DIR) INSTALLED_PROFILE ?= $(addprefix $(INSTALL_PROFILEDIR)/,$(PROFILE)) # -- JAVA INSTALLATION_FILE_TYPES += JAVA BUILD_JAVADIR = $(TOPDIR)/share/java BUILD_JAVADIR_CLASSES = classes JAVA_JARS ?= $(filter-out $(DONT_INSTALL),$(wildcard *.jar)) INSTALL_JAVADIR ?= $(JAVADIR) INSTALLED_JAVA ?= $(addprefix $(INSTALL_JAVADIR)/,$(JAVA_JARS)) # -- LD_CONF INSTALLATION_FILE_TYPES += LD_CONF ifneq ($(TARGET),mingw) LD_CONF += $(filter-out $(DONT_INSTALL),ld-$(PROJECT).conf) BUILD_LD_CONFDIR = $(TOPDIR)/lib/ld.so.conf.d INSTALL_LD_CONFDIR = $(LD_CONF_DIR) INSTALLED_LD_CONF = $(addprefix $(INSTALL_LD_CONFDIR)/,$(LD_CONF)) endif # -- LOGROT ifneq ($(TARGET),mingw) INSTALLATION_FILE_TYPES += LOGROT LOGROT += $(basename $(filter-out $(DONT_INSTALL),$(wildcard *.logrotate))) BUILD_LOGROTDIR = $(TOPDIR)/bin/logrotate.d INSTALL_LOGROTDIR = $(LOGROT_DIR) INSTALLED_LOGROT = $(addprefix $(INSTALL_LOGROTDIR)/,$(LOGROT)) endif # -- APACHE_CONF ifneq ($(TARGET),mingw) INSTALLATION_FILE_TYPES += APACHE_CONF APACHE_CONF += $(filter-out $(DONT_INSTALL),$(wildcard *.apache-conf)) BUILD_APACHE_CONFDIR = $(TOPDIR)/bin/apache/conf.d INSTALL_APACHE_CONFDIR = $(APACHE_CONF_DIR) INSTALLED_APACHE_CONF = $(addprefix $(INSTALL_APACHE_CONFDIR)/,$(patsubst %.apache-conf,%.conf,$(APACHE_CONF))) endif # -- RSYSLOG ifneq ($(TARGET),mingw) INSTALLATION_FILE_TYPES += RSYSLOG RSYSLOG += $(filter-out $(DONT_INSTALL),$(wildcard *.rsyslog rsyslog-*.bprof)) BUILD_RSYSLOGDIR = $(TOPDIR)/bin/rsyslog.d INSTALL_RSYSLOGDIR = $(RSYSLOG_DIR) INSTALLED_RSYSLOG = $(addprefix $(INSTALL_RSYSLOGDIR)/,$(subst rsyslog-,,$(RSYSLOG))) INSTALLED_RSYSLOG += $(addprefix $(INSTALL_RSYSLOGDIR)/,$(patsubst %.rsyslog,%.conf,$(RSYSLOG))) endif # -- CRONTAB ifneq ($(TARGET),mingw) INSTALLATION_FILE_TYPES += CRONTAB CRONTAB += $(filter-out $(DONT_INSTALL),$(wildcard *.crontab)) BUILD_CRONTABDIR = $(TOPDIR)/cron.d INSTALLED_CRONTAB = $(addprefix $(INSTALL_CRONTABDIR)/,$(CRONTAB)) endif # -- PKG_CONFIG ifneq ($(TARGET),mingw) INSTALLATION_FILE_TYPES += PKG_CONFIG PKG_CONFIG += $(sort $(filter-out $(DONT_INSTALL),$(wildcard *.pc) $(LOCAL_PKG_CONFIG))) ifeq ($(DEVELOPMENT),true) BUILD_PKG_CONFIGDIR = $(MODDIR)/pkgconfig else BUILD_PKG_CONFIGDIR = $(TOPDIR)/make endif LOCAL_PKG_CONFIG = $(PROJECT).pc BUILD_PKG_CONFIG = $(BUILD_PKG_CONFIGDIR)/$(LOCAL_PKG_CONFIG) INSTALLED_PKG_CONFIG = $(addprefix $(INSTALL_PKG_CONFIGDIR)/,$(PKG_CONFIG)) endif INSTALL_FILE ?= $(INSTALL) INSTALL_DIR ?= $(INSTALL) # ----- local.mk ifneq ($(wildcard $(MODDIR)/make/local.mk),) include $(MODDIR)/make/local.mk endif ifneq ($(wildcard $(TOPDIR)/make/local.mk),) include $(TOPDIR)/make/local.mk endif ifneq ($(wildcard local.mk),) include local.mk endif BTOOLS_DIR ?= $(call proj_dir, dspider-btools) #DSPCD_DIR ?= $(call proj_dir, dspcd) #DSPCD_EC_DIR ?= $(call proj_dir, dspcd-ec) FEEDFSD_DIR ?= $(call proj_dir, feedfsd) FEEDFS_DIR ?= $(call proj_dir, feedfs) FEEDFS_GUI_DIR ?= $(call proj_dir, feedfs-gui) FEEDFS_OBJECTS_DIR ?= $(call proj_dir, feedfs-objects) FEEDFS_UTILS_DIR ?= $(call proj_dir, feedfs-utils) FEEDFS_WT_DIR ?= $(call proj_dir, feedfs-wt) JUX_SHARED_DIR ?= $(call proj_dir, jux-shared) SITE_DIR ?= $(call proj_dir, site) VALDI_DIR ?= $(call proj_dir, valdi) XCHANGE_DIR ?= $(call proj_dir, xchange) all: nothing: doc-module: $(BROWSER) $(JANWARE_URL_DOC_MODULE) doc-project: $(BROWSER) $(JANWARE_URL_DOC_PROJECT) endif