All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 5m51s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m58s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 5m56s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m39s
CI / Packaging test (push) Successful in 0s
Remove INSTALL_PCKG_DEPS_DIR and friends from jw-pkg. It was introduced with 2a4a95 in 2009 and has not seen much use since. By now it has been made obsolete by declaring dependencies in project.conf. One source of truth is enough. Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.87.0 Signed-off-by: Jan Lindemann <jan@janware.com>
548 lines
20 KiB
Makefile
548 lines
20 KiB
Makefile
# (c) 2001 jannet it services
|
|
# contact@jannet.de
|
|
# $Id$
|
|
|
|
ifndef JW_PKG_DEF_MK_INCLUDED
|
|
JW_PKG_DEF_MK_INCLUDED = true
|
|
|
|
MAKEFLAGS += -r
|
|
|
|
empty :=
|
|
space := $(empty) $(empty)
|
|
comma := ,
|
|
|
|
include $(JWBDIR)/make/projects.mk
|
|
|
|
# ----- Executables
|
|
|
|
ifndef WHICH
|
|
WHICH := $(firstword $(wildcard /usr/bin/which) $(shell which which))
|
|
endif
|
|
ifndef GREP
|
|
GREP := $(shell $(WHICH) grep)
|
|
endif
|
|
ifndef ECHO
|
|
ECHO := $(shell $(WHICH) echo)
|
|
endif
|
|
ifndef TEST
|
|
TEST := $(shell $(WHICH) test)
|
|
endif
|
|
ifndef SED
|
|
SED := $(shell $(WHICH) sed)
|
|
endif
|
|
ifndef CAT
|
|
CAT := $(shell $(WHICH) cat)
|
|
endif
|
|
ifeq ($(origin RM),default)
|
|
RM := $(shell $(WHICH) rm)
|
|
endif
|
|
ifndef AR
|
|
AR := $(shell $(WHICH) ar)
|
|
endif
|
|
#ifndef PWD
|
|
PWD := $(shell $(WHICH) pwd)
|
|
#endif
|
|
ifndef CWD
|
|
CWD := $(shell $(PWD))
|
|
endif
|
|
ifndef BIN_INSTALL
|
|
BIN_INSTALL := $(shell $(WHICH) install)
|
|
endif
|
|
ifndef SUDO
|
|
SUDO := $(shell $(WHICH) sudo)
|
|
endif
|
|
ifndef MY_SHELL
|
|
MY_SHELL := /bin/bash
|
|
endif
|
|
ifndef ID
|
|
ID := $(shell $(WHICH) id)
|
|
endif
|
|
ifndef CUT
|
|
CUT := $(shell $(WHICH) cut)
|
|
endif
|
|
ifndef TR
|
|
TR := $(shell $(WHICH) tr)
|
|
endif
|
|
ifndef AWK
|
|
AWK := $(shell $(WHICH) awk)
|
|
endif
|
|
ifndef GETENT
|
|
GETENT := $(shell $(WHICH) getent)
|
|
endif
|
|
ifndef XARGS
|
|
XARGS := $(shell $(WHICH) xargs)
|
|
endif
|
|
ifndef FIND
|
|
FIND := $(shell $(WHICH) find)
|
|
endif
|
|
ifndef PRINTF
|
|
PRINTF := $(shell $(WHICH) printf)
|
|
endif
|
|
|
|
ifndef MINIMAL_MAKEFLAGS
|
|
MINIMAL_MAKEFLAGS :=
|
|
endif
|
|
ifndef MINIMAL_PATH
|
|
MINIMAL_PATH := /usr/sbin:/usr/bin:/sbin:/bin
|
|
endif
|
|
ifndef MINIMAL_LD_LIBRARY_PATH
|
|
MINIMAL_LD_LIBRARY_PATH :=
|
|
endif
|
|
ifndef MINIMAL_UMASK
|
|
MINIMAL_UMASK := 0002
|
|
endif
|
|
ifndef PRISTINE_MAKE
|
|
PRISTINE_MAKE := umask $(MINIMAL_UMASK) && MAKEFLAGS=$(MINIMAL_MAKEFLAGS) LD_LIBRARY_PATH=$(MINIMAL_LD_LIBRARY_PATH) PATH=$(MINIMAL_PATH) $(MAKE)
|
|
endif
|
|
ifndef SHELLCHECK
|
|
SHELLCHECK := $(shell $(WHICH) shellcheck)
|
|
endif
|
|
ifdef SHELLCHECK
|
|
SHELLCHECK += -f gcc
|
|
else
|
|
SHELLCHECK := bash -n
|
|
endif
|
|
|
|
# ----- Function definitions
|
|
|
|
reverse = $(if $(wordlist 2,2,$(1)),$(call reverse,$(wordlist 2,$(words $(1)),$(1))) $(firstword $(1)),$(1))
|
|
make_subdirs = set -e; for D in $(SUBDIRS) ; do make -C $$D ; done
|
|
make_subdirs_target = set -e; for D in $(SUBDIRS) ; do make -C $$D $@; done
|
|
install_local_cfg = $(INSTALL) -p -o $(CFGOWNER) -g $(CFGGROUP) -m $(CFGMODE) $< $@
|
|
cvs_files = sh $(JWB_SCRIPT_DIR)/scm.sh ls-files
|
|
add_flavour_prefix = $(SED) "s/\([^ ][^ ]*\) *\([<>=]*\) *\([^ ]*\)/$(FLAVOUR_PREFIX)\1 \2 \3/g"
|
|
beautify_lib_path = $(SED) 's/:/\n + /g'
|
|
find_files = $(wildcard $(addsuffix /$(1),$(patsubst :, ,$(2))))
|
|
find_file = $(firstword $(call find_files,$(1),$(2)) $(1)-not-found)
|
|
|
|
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
|
|
|
|
uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1)))
|
|
|
|
# ----- Standard variables
|
|
|
|
ifeq ($(PROJECT),)
|
|
PROJECT := $(shell $(ECHO) $(patsubst $(FLAVOUR_PREFIX)%,%,$(notdir $(realpath $(TOPDIR)))) | $(SED) 's/-[0-9]\+\..*//')
|
|
endif
|
|
|
|
ifneq ($(wildcard $(TOPDIR)/.git),)
|
|
VCS ?= git
|
|
else ifneq ($(wildcard $(TOPDIR)/CVS),)
|
|
VCS ?= cvs
|
|
endif
|
|
|
|
ifndef BUILD_TOOLS_PREFIX
|
|
ifdef BUILD_LIBS_PREFIX
|
|
BUILD_TOOLS_PREFIX = $(BUILD_LIBS_PREFIX)
|
|
endif
|
|
endif
|
|
ifdef BUILD_LIBS_PREFIX
|
|
ifndef BUILD_TOOLS_PREFIX
|
|
BUILD_LIBS_PREFIX = $(BUILD_TOOLS_PREFIX)
|
|
endif
|
|
endif
|
|
|
|
# ----- User and organization
|
|
|
|
ifndef BUILD_USER
|
|
BUILD_USER := $(shell $(ID) -un)
|
|
endif
|
|
ifndef BUILD_GROUP
|
|
BUILD_GROUP := $(shell $(ID) -gn)
|
|
endif
|
|
JANWARE_USER ?= $(BUILD_USER)
|
|
export JANWARE_USER
|
|
ifndef FULL_NAME
|
|
FULL_NAME := $(shell $(ID) -nu | $(XARGS) $(GETENT) passwd | $(CUT) -d: -f5)
|
|
endif
|
|
|
|
JANWARE_CLIENT ?= jw
|
|
CUSTOMER ?= $(JANWARE_CLIENT)
|
|
ifeq ($(JANWARE_CLIENT),jw)
|
|
JANWARE_WIKI ?= priv
|
|
else
|
|
JANWARE_WIKI ?= $(JANWARE_CLIENT)
|
|
endif
|
|
JANWARE_URL_DOC_MODULE ?= https://janware.com/wiki/$(JANWARE_WIKI)/assets/types/data/sw/$(PROJECT)/$(notdir $(CWD))
|
|
JANWARE_URL_DOC_PROJECT ?= https://janware.com/wiki/$(JANWARE_WIKI)/assets/types/data/sw/$(PROJECT)/start
|
|
PUBLIC_PATH_DEVEL_DOC = /doc/devel
|
|
UPLOAD_URL_DEVEL_DOC = rsync_ssh://$(JANWARE_USER)@janware.com:/srv/dav/pub/clients/$(JANWARE_CLIENT)/$(PUBLIC_PATH_DEVEL_DOC)
|
|
PKG_VENDOR ?= janware GmbH
|
|
|
|
# ----- Packaging variables
|
|
|
|
PKG_SH_EXE := /bin/bash $(JWB_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) -f $(PKG_FORMAT) $(LOG_INSTALL_EXTRA_OPTS)
|
|
LINK_LIB = $(LOG_INSTALL_SH) -L -l $(INSTALL_LOG) -f $(PKG_FORMAT) $(LOG_INSTALL_EXTRA_OPTS)
|
|
else
|
|
ifndef INSTALL
|
|
ifeq ($(DEVELOPMENT),false)
|
|
INSTALL = $(SUDO) $(LOG_INSTALL_SH) -p $(LOG_INSTALL_EXTRA_OPTS)
|
|
else
|
|
INSTALL = $(LOG_INSTALL_SH)
|
|
endif
|
|
endif
|
|
ifndef LINK_LIB
|
|
LINK_LIB = $(LOG_INSTALL_SH) -L
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(PKG_FORMAT),debian)
|
|
RPM ?= /bin/bash $(JWB_SCRIPT_DIR)/dpm.sh
|
|
PKG_ARCH := $(shell dpkg --print-architecture)
|
|
PKG_SUFFIX ?= deb
|
|
else
|
|
RPM ?= /bin/rpm
|
|
PKG_ARCH ?= $(TARGET_ARCH)
|
|
PKG_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)
|
|
|
|
ifneq ($(PROJECT_DESCR_FILE),)
|
|
ifeq ($(shell $(GREP) "^ *subpackages * = .*devel" $(PROJECT_DESCR_FILE)),)
|
|
CREATE_DEVEL = false
|
|
endif
|
|
endif
|
|
CREATE_DEVEL ?= true
|
|
PACKAGE_INSTALL_DIR ?= true
|
|
|
|
ifeq ($(VERSION),)
|
|
ifneq ($(wildcard $(VERSION_FILE)),)
|
|
VERSION := $(shell $(CAT) $(VERSION_FILE))
|
|
else
|
|
VERSION := $(shell echo 0.1.0-0-dev | tee $(VERSION_FILE))
|
|
$(warning Automatically created missing $(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_PKG_DIR = $(JWBDIR)
|
|
JW_PKG_CONF_BASE_DIR ?= $(firstword $(wildcard $(JW_PKG_DIR)/conf /etc/opt/jw-pkg))
|
|
JW_PKG_CONF_DIR ?= $(firstword $(wildcard $(JW_PKG_CONF_BASE_DIR)/project $(JW_PKG_CONF_BASE_DIR)))
|
|
JW_PKG_TMPL_DIR ?= $(JW_PKG_CONF_BASE_DIR)/templates
|
|
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))
|
|
HDRDIR_SCOPE_SUFFIX ?= $(PROJECT)
|
|
|
|
CONTRIB_MOD += $(addprefix contrib/,$(CONTRIB_LIBS))
|
|
REQUIRED := $(CONTRIB_MOD) $(REQUIRED)
|
|
|
|
ifeq ($(DEVELOPMENT),true)
|
|
-include $(JWBDIR)/make/defs-dev.mk
|
|
ifneq ($(wildcard $(TOPDIR)/make/cfg_dev.mk),)
|
|
include $(TOPDIR)/make/cfg_dev.mk
|
|
endif
|
|
else
|
|
-include $(JWBDIR)/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)
|
|
OPTS_PID_FILE ?= $(PIDDIR)/$(PROJECT).pid
|
|
LOCAL_MKFILES ?= $(wildcard GNUmakefile makefile Makefile *.mk)
|
|
LOG_QUAL_PREFIX ?= $(LOGID):
|
|
|
|
# -- standard dirs and files for build and install
|
|
INSTALLATION_FILE_TYPES += PREFIX
|
|
|
|
# -- CFG
|
|
INSTALLATION_FILE_TYPES += CFG
|
|
CONFIG_FILE ?= $(CONFIG_DIR)/$(PROJECT).conf
|
|
BUILD_CFGDIR = $(TOPDIR)/conf
|
|
ifeq ($(CONFIG_SUBDIR),)
|
|
INSTALL_CFGDIR ?= $(CONFIG_DIR)
|
|
else
|
|
INSTALL_CFGTOPDIR ?= $(CONFIG_DIR)
|
|
INSTALL_CFGDIR ?= $(CONFIG_DIR)/$(CONFIG_SUBDIR)
|
|
endif
|
|
LOCAL_CFG ?= $(filter-out %.site.conf, $(filter-out rsyslog-%, $(wildcard *.conf *.xml *.bprof *.jw-tmpl *.ini *.yaml *.toml))) $(LOCAL_EXTRA_CFG)
|
|
INSTALLED_CFG ?= $(addprefix $(INSTALL_CFGDIR)/,$(LOCAL_CFG))
|
|
|
|
# -- TMPFILES
|
|
INSTALLATION_FILE_TYPES += TMPFILES
|
|
TMPFILES += $(filter-out $(DONT_INSTALL),$(wildcard *.tmpfiles))
|
|
BUILD_TMPFILESDIR = $(TOPDIR)/bin/tmpfiles/conf.d
|
|
INSTALL_TMPFILESDIR = $(TMPFILES_DIR)
|
|
INSTALLED_TMPFILES = $(addprefix $(INSTALL_TMPFILESDIR)/,$(patsubst %.tmpfiles,%.conf,$(TMPFILES)))
|
|
|
|
# -- SYSCFG
|
|
INSTALLATION_FILE_TYPES += SYSCFG
|
|
SYSCFG_DIR ?= /etc/sysconfig
|
|
SYSCFG_FILE ?= $(SYSCFG_DIR)/$(PROJECT)
|
|
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 %.hh, $(SRC_ALL_CPP))
|
|
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 $(sort VERSION README* CHANGES TODO* LICENSE AUTHORS CREDITS RELEASES *.pdf *.txt *.html *.md))
|
|
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 += $(wildcard *.sh)
|
|
EXE_SH += $(patsubst %.sh.tmpl,%.sh,$(filter-out $(DONT_INSTALL),$(wildcard *.sh.tmpl)))
|
|
EXE_SCRIPTS += $(EXE_SH) $(filter-out $(DONT_INSTALL),$(wildcard *.pl *.pm *.py *.bat *.feedfs))
|
|
|
|
#EXE_ALL += $(EXE) $(wildcard *.a *.dll *.so *.so.*)
|
|
BUILD_EXE_BIN += $(addprefix $(BUILD_EXEDIR)/,$(EXE) $(EXE_SCRIPTS))
|
|
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_SCRIPTS)) $(INSTALLED_EXE_BIN)
|
|
|
|
# -- 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))
|
|
|
|
# -- SYSTEMD
|
|
INSTALLATION_FILE_TYPES += SYSTEMD
|
|
BUILD_SYSTEMDDIR = $(TOPDIR)/bin/systemd
|
|
LOCAL_SYSTEMD += $(filter-out $(DONT_INSTALL),$(wildcard *.service *.mount *.target *.timer *.socket *.slice \
|
|
*.container *.pod *.network *.volume *.image *.kube))
|
|
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 is currently not used anywhere and costs performance. Disabled for the time being.
|
|
#BUILD_MAKEDIR = $(TOPDIR)/make
|
|
MKFILES += $(filter-out 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
|
|
ifneq ($(findstring $(TARGET_OS),linux),)
|
|
INSTALLATION_FILE_TYPES += LD_CONF
|
|
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 ($(findstring $(TARGET_OS),linux),)
|
|
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 ($(findstring $(TARGET_OS),linux),)
|
|
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 ($(findstring $(TARGET_OS),linux),)
|
|
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)/,$(sort $(patsubst %.rsyslog,%.conf,$(subst rsyslog-,,$(RSYSLOG)))))
|
|
endif
|
|
|
|
# -- CRONTAB
|
|
ifneq ($(findstring $(TARGET_OS),linux),)
|
|
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 ($(findstring $(TARGET_OS),linux),)
|
|
CREATE_PKG_CONFIG ?= true
|
|
endif
|
|
|
|
ifeq ($(CREATE_PKG_CONFIG),true)
|
|
INSTALLATION_FILE_TYPES += PKG_CONFIG
|
|
PKG_CONFIG += $(sort $(filter-out $(DONT_INSTALL),$(wildcard *.pc) $(LOCAL_PKG_CONFIG)))
|
|
ifeq ($(DEVELOPMENT),true)
|
|
BUILD_PKG_CONFIGDIR = $(JWBDIR)/pkgconfig
|
|
else
|
|
BUILD_PKG_CONFIGDIR = $(TOPDIR)/make
|
|
endif
|
|
LOCAL_PKG_CONFIG = $(PROJECT).pc
|
|
# As of now, this is not used by any downstream project, so disable it to reduce complexity.
|
|
#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)
|
|
|
|
ifeq ($(origin PREREQ_BUILD),undefined)
|
|
PREREQ_BUILD := $(call proj_query, pkg-requires --no-subpackages --subsections=jw --syntax names-only --delimiter ' ' 'build devel' $(PROJECT))
|
|
endif
|
|
|
|
ifeq ($(origin PREREQ_RUN),undefined)
|
|
PREREQ_RUN := $(call proj_query, pkg-requires --no-subpackages --subsections=jw --syntax names-only --delimiter ' ' 'run' $(PROJECT))
|
|
endif
|
|
|
|
ifeq ($(origin PREREQ),undefined)
|
|
PREREQ := $(sort $(PREREQ_BUILD) $(PREREQ_RUN))
|
|
endif
|
|
|
|
# ----- local.mk
|
|
|
|
$(eval $(call try_include,$(JWBDIR)/make/local.mk))
|
|
$(eval $(call try_include,$(TOPDIR)/make/local.mk))
|
|
$(eval $(call try_include,local.mk))
|
|
|
|
# ----- Omnipresent rules
|
|
|
|
all:
|
|
|
|
nothing:
|
|
|
|
doc-module:
|
|
$(BROWSER) $(JANWARE_URL_DOC_MODULE)
|
|
|
|
doc-project:
|
|
$(BROWSER) $(JANWARE_URL_DOC_PROJECT)
|
|
|
|
echo-targets:
|
|
$(Q)make -pqR | sed '/^[a-zA-Z-]\+:/!d; s/:.*//' | sort
|
|
|
|
endif # ifndef JW_PKG_DEF_MK_INCLUDED
|