mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
This commit tries to remove the necessity to call projects.py from $(TOPDIR) to speed up recursive builds over all projects yet again. This is a major undertaking. There are two variables which are filled py projects.py in $(TOPDIR): PREREQ and PREREQ_DIRS. Sadly, the latter is a path relative to $(TOPDIR)/make, so this is kind of pointless. Unless the cache is maintained in $(TOPDIR), a thing I tried to avoid. So this commit is only able to cache $(PREREQ), not $(PREREQ_DIRS), which still is a hassle. Introduced defs-dirs.mk for that, to make it accessible to make.mk, and modified all the other parts of the machinery, too. Signed-off-by: Jan Lindemann <jan@janware.com>
78 lines
2.1 KiB
Makefile
78 lines
2.1 KiB
Makefile
# generic utility modules
|
|
# (c) 2001 jannet it services
|
|
# contact@jannet.de
|
|
# $Id$
|
|
|
|
include $(MODDIR)/make/defs.mk
|
|
include $(MODDIR)/make/defs-dirs.mk
|
|
|
|
CACHED_FILES ?= $(VERSION_FILE)
|
|
CACHED_VARS ?= PROJECT PREREQ VERSION HEX_VERSION
|
|
|
|
include $(MODDIR)/make/cache.mk
|
|
|
|
ifneq ($(CREATE_DEVEL),false)
|
|
MKFILES += $(wildcard project.conf)
|
|
DEVEL_TARGETS += install_MAKE $(INSTALLED_PKG_MK) install_PKG_CONFIG
|
|
endif
|
|
|
|
include $(MODDIR)/make/rules.mk
|
|
|
|
#LOCAL_PKG_CONFIG = $(PROJECT).pc
|
|
# BUILD_PKG_CONFIG = $(MODDIR)/pkgconfig/$(LOCAL_PKG_CONFIG)
|
|
|
|
INSTALL_PCKG_DEPS_DIR = $(ENV_PREFIX)$(MODDIR)/make/deps.d
|
|
ifneq ($(wildcard pckg-deps.mk),)
|
|
INSTALLED_PKG_MK += $(INSTALL_PCKG_DEPS_DIR)/$(PROJECT).mk
|
|
endif
|
|
|
|
INSTALL_PCKG_DEFS_DIR = $(MODDIR)/make/defs.d
|
|
ifneq ($(wildcard pckg-defs.mk),)
|
|
INSTALLED_PKG_MK += $(INSTALL_PCKG_DEFS_DIR)/$(PROJECT).mk
|
|
endif
|
|
|
|
#all: $(BUILD_PKG_CONFIG)
|
|
all: build_PKG_CONFIG
|
|
install: $(DEVEL_TARGETS)
|
|
clean: textclean localclean doneclean clean.pkg-config
|
|
test:
|
|
|
|
$(INSTALL_PCKG_DEPS_DIR)/$(PROJECT).mk: pckg-deps.mk
|
|
mkdir -p $(dir $@)
|
|
$(INSTALL) -p -m $(MAKEMODE) -o $(MAKEOWNER) -g $(MAKEGROUP) $< $@
|
|
|
|
$(INSTALL_PCKG_DEFS_DIR)/$(PROJECT).mk: pckg-defs.mk
|
|
mkdir -p $(dir $@)
|
|
$(INSTALL) -p -m $(MAKEMODE) -o $(MAKEOWNER) -g $(MAKEGROUP) $< $@
|
|
|
|
install-links:
|
|
DEVELOPMENT=false make do-install-links
|
|
|
|
do-install-links:
|
|
@$(call install_links,MAKE)
|
|
|
|
ifeq ($(EXPORT_PROJECT_LIB),true)
|
|
CREATE_PKG_CONFIG_OPTS += -c "-I$(PROJECT_DIRPATH)/include"
|
|
CREATE_PKG_CONFIG_OPTS += -l "-L$(PROJECT_DIRPATH)/lib -l$(PROJECT)"
|
|
endif
|
|
|
|
$(LOCAL_PKG_CONFIG): $(PROJECT_DESCR_FILE) $(MODDIR)/make/make.mk $(MOD_SCRIPT_DIR)/create-pkg-config.sh
|
|
/bin/bash $(MOD_SCRIPT_DIR)/create-pkg-config.sh \
|
|
-F $< \
|
|
-n $(PROJECT) \
|
|
-v $(DIST_VERSION) \
|
|
-p $(PROJECT_DIRPATH) \
|
|
-V $(shell echo $(PROJECT) | tr a-z- A-Z_)_DIR=$(PROJECT_DIRPATH) \
|
|
-r "$(RPM_REQUIRES_RUN)" \
|
|
-R "$(RPM_REQUIRES_DEVEL)" \
|
|
-l "-L$(PROJECT_DIRPATH)/lib -l$(LIBNAME)" \
|
|
$(CREATE_PKG_CONFIG_OPTS) \
|
|
> $@.tmp
|
|
mv $@.tmp $@
|
|
|
|
$(BUILD_PKG_CONFIG): $(LOCAL_PKG_CONFIG)
|
|
|
|
clean.pkg-config:
|
|
$(RM) -f *.pc $(BUILD_PKG_CONFIG)
|
|
|
|
|