mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
make: Further improve build time
This commit sees several improvements to the build performance: - Introduce cache.mk, which creates makefiles caching often used variables, per tree and per project. - Define more variables with := enclosed in condistions, instead of defining them with ?=, because the RHS of ?= is expanded deferredly. - Add more definitions for executables. - Move some more specialized definitions out into specialized makefiles, notably htdocs.mk and tmpl.mk Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
316435bb78
commit
9e245c986e
7 changed files with 176 additions and 109 deletions
|
|
@ -5,22 +5,33 @@
|
|||
|
||||
TOPDIR = ..
|
||||
|
||||
CACHED_FILES := defs.mk projects.mk platform.mk Makefile
|
||||
#CACHED_VARS = $(shell sed '/^[ \t]*\([A-Z_]\+\) *\(.=\).*$$.shell/!d; s/ *.=.*//' $(CACHED_FILES))
|
||||
CACHED_VARS := WHICH BROWSER SED RM PWD ID CUT TR AWK GETENT XARGS FIND PRINTF OS_TUPLE OS_NAME_VERSION OS_NAME CAT BIN_INSTALL SUDO
|
||||
#CACHED_VARS += TARGET_ARCH RPM_ARCH
|
||||
CACHED_VARS += TARGET_ARCH
|
||||
#CACHED_VARS += DEVELOPMENT
|
||||
|
||||
include $(TOPDIR)/make/proj.mk
|
||||
include $(MODDIR)/make/make.mk
|
||||
ifneq ($(MAKECMDGOALS),install-links)
|
||||
ifneq ($(MAKECMDGOALS),do-install-links)
|
||||
include $(MODDIR)/make/dirs.mk
|
||||
endif
|
||||
ifneq ($(MAKECMDGOALS),do-install-links)
|
||||
include $(MODDIR)/make/dirs.mk
|
||||
endif
|
||||
endif
|
||||
|
||||
include $(MODDIR)/make/dev-utils.mk
|
||||
#include $(MODDIR)/make/cache.mk
|
||||
|
||||
all:
|
||||
|
||||
ifeq ($(TARGET),mingw)
|
||||
install: $(INSTALL_MAKEDIR)/winres.rc.tmpl
|
||||
endif
|
||||
|
||||
grep-vars:
|
||||
@sed '/^ *[A-Z]/!d; s/^[ ]*//g; s/[=+?:].*//g; s/[ ]*//g' *.mk | sort -u
|
||||
|
||||
$(INSTALL_MAKEDIR)/%.tmpl: %.tmpl $(TOPDIR)/dir_install_MAKE.done
|
||||
$(INSTALL) -o $(MAKEOWNER) -g $(MAKEGROUP) -m $(MAKEMODE) $< $@A
|
||||
|
||||
grep-vars:
|
||||
@sed '/^ *[A-Z]/!d; s/^[ ]*//g; s/[=+?:].*//g; s/[ ]*//g' *.mk | sort -u
|
||||
|
|
|
|||
22
make/cache.mk
Normal file
22
make/cache.mk
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# ----- define these variables
|
||||
# CACHED_FILES = $(TOPDIR)/VERSION
|
||||
# CACHED_VARS = VERSION
|
||||
|
||||
CACHE_FILE_MK ?= .cache.mk
|
||||
|
||||
# if not checked against MAKECMDGOALS, a standard rule kicks in from rules.mk,
|
||||
# and $(CACHE_FILE_MK) is remade with the clean target
|
||||
ifeq ($(findstring clean,$(MAKECMDGOALS)),)
|
||||
all: $(CACHE_FILE_MK)
|
||||
$(CACHE_FILE_MK): $(CACHED_FILES) $(MODDIR)/make/cache.mk
|
||||
ifeq ($(wildcard $(CACHE_FILE_MK)),)
|
||||
@echo $(foreach v,$(CACHED_VARS),$v := $(value $(v))EOL) | $(SED) 's/EOL */\n/g;' | $(GREP) . | tee $@.tmp
|
||||
mv $@.tmp $@
|
||||
else
|
||||
rm $@
|
||||
make $@
|
||||
endif
|
||||
endif
|
||||
clean: clean-cache
|
||||
clean-cache:
|
||||
$(RM) -f $(CACHE_FILE_MK)
|
||||
194
make/defs.mk
194
make/defs.mk
|
|
@ -7,51 +7,85 @@ JW_BUILD_DEF_MK_INCLUDED = true
|
|||
|
||||
MAKEFLAGS += -r
|
||||
|
||||
-include $(MODDIR)/make/.cache.mk
|
||||
-include $(TOPDIR)/make/.cache.mk
|
||||
include $(MODDIR)/make/platform.mk
|
||||
include $(MODDIR)/make/projects.mk
|
||||
|
||||
ifeq ($(MAKE_BENCHMARK),true)
|
||||
SHELL := /bin/bash $(MOD_SCRIPT_DIR)/timed-make-shell.sh
|
||||
export SHELL := /bin/bash $(MOD_SCRIPT_DIR)/timed-make-shell.sh
|
||||
else
|
||||
export SHELL := /bin/bash
|
||||
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
|
||||
-include $(MODDIR)/make/pre-local.mk
|
||||
-include $(TOPDIR)/make/pre-local.mk
|
||||
-include pre-local.mk
|
||||
|
||||
# ----- executables
|
||||
WHICH := $(firstword $(wildcard /usr/bin/which) $(shell which which))
|
||||
SED := $(shell $(WHICH) sed)
|
||||
CAT := /bin/cat
|
||||
#ifeq ($(SHELL),)
|
||||
export SHELL := /bin/bash
|
||||
ifndef WHICH
|
||||
WHICH := $(firstword $(wildcard /usr/bin/which) $(shell which which))
|
||||
endif
|
||||
ifndef GREP
|
||||
GREP := $(shell $(WHICH) grep)
|
||||
endif
|
||||
ifndef SED
|
||||
SED := $(shell $(WHICH) sed)
|
||||
endif
|
||||
CAT := $(shell $(WHICH) cat)
|
||||
ifndef BROWSER
|
||||
BROWSER := $(shell $(WHICH) xdg-open)
|
||||
endif
|
||||
ifeq ($(origin RM),default)
|
||||
RM := $(shell $(WHICH) rm)
|
||||
endif
|
||||
ifndef AR
|
||||
AR = $(shell $(WHICH) ar)
|
||||
endif
|
||||
#ifndef PWD
|
||||
PWD := $(shell $(WHICH) pwd)
|
||||
#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)
|
||||
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 GET_OS_SH
|
||||
GET_OS_SH := $(SHELL) $(MOD_SCRIPT_DIR)/get-os.sh
|
||||
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
|
||||
|
||||
# makefile helpers
|
||||
FIND_SUBDIRS := $(filter-out . .. nomake CVS $(IGNORE_SUBDIRS),\
|
||||
|
|
@ -147,27 +181,27 @@ ifeq ($(OS_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)
|
||||
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)
|
||||
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)
|
||||
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),)
|
||||
|
|
@ -246,12 +280,12 @@ ifeq ($(PKG_FORMAT),debian)
|
|||
RPM_SUFFIX ?= deb
|
||||
else
|
||||
RPM ?= /bin/rpm
|
||||
RPM_ARCH ?= $(ARCH)
|
||||
RPM_ARCH ?= $(TARGET_ARCH)
|
||||
RPM_SUFFIX ?= rpm
|
||||
endif
|
||||
|
||||
ifeq ($(PKG_FORMAT),debian)
|
||||
export INCLUDE_REV_IN_VERSIONS = true
|
||||
export INCLUDE_REV_IN_VERSIONS = true
|
||||
endif
|
||||
|
||||
PROJECT_DESCR_FILE ?= $(wildcard $(TOPDIR)/make/project.conf)
|
||||
|
|
@ -262,9 +296,9 @@ PROJECT_SUMMARY ?= $(PROJECT_DESCR)
|
|||
CUSTOMER ?= jannet
|
||||
|
||||
ifneq ($(PROJECT_DESCR_FILE),)
|
||||
ifeq ($(shell grep "^ *subpackages *=.*devel" $(PROJECT_DESCR_FILE)),)
|
||||
CREATE_DEVEL = false
|
||||
endif
|
||||
ifeq ($(shell $(GREP) "^ *subpackages *=.*devel" $(PROJECT_DESCR_FILE)),)
|
||||
CREATE_DEVEL = false
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(VERSION),)
|
||||
|
|
@ -410,34 +444,6 @@ 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
|
||||
|
|
@ -562,17 +568,9 @@ 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
|
||||
-include $(MODDIR)/make/local.mk
|
||||
-include $(TOPDIR)/make/local.mk
|
||||
-include local.mk
|
||||
|
||||
BTOOLS_DIR ?= $(call proj_dir, dspider-btools)
|
||||
#DSPCD_DIR ?= $(call proj_dir, dspcd)
|
||||
|
|
@ -598,4 +596,4 @@ doc-module:
|
|||
doc-project:
|
||||
$(BROWSER) $(JANWARE_URL_DOC_PROJECT)
|
||||
|
||||
endif
|
||||
endif # ifndef JW_BUILD_DEF_MK_INCLUDED
|
||||
|
|
|
|||
|
|
@ -3,6 +3,22 @@ LESS_GENERATED_CSS ?= $(patsubst %.less,%.css,$(LESS_SRC))
|
|||
LESS_CPY ?= lesscpy
|
||||
|
||||
include $(MODDIR)/make/defs.mk
|
||||
|
||||
# -- 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))
|
||||
|
||||
|
||||
include $(MODDIR)/make/js.mk
|
||||
include $(MODDIR)/make/rules.mk
|
||||
include $(MODDIR)/make/dev-utils.mk
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@
|
|||
|
||||
include $(MODDIR)/make/defs.mk
|
||||
|
||||
CACHED_FILES ?= $(VERSION_FILE)
|
||||
CACHED_VARS ?= VERSION HEX_VERSION PROJECT
|
||||
|
||||
include $(MODDIR)/make/cache.mk
|
||||
|
||||
ifneq ($(CREATE_DEVEL),false)
|
||||
MKFILES += $(wildcard project.conf)
|
||||
DEVEL_TARGETS += install_MAKE $(INSTALLED_PKG_MK) install_PKG_CONFIG
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# == Variables for inter-project-communication
|
||||
|
||||
# -- What do I know about myself?
|
||||
VERSION_FILE ?= $(firstword $(wildcard VERSION) $(TOPDIR)/VERSION)
|
||||
VERSION_FILE := $(firstword $(wildcard VERSION) $(TOPDIR)/VERSION)
|
||||
ifndef DEVELOPMENT
|
||||
ifeq ($(wildcard $(VERSION_FILE)),)
|
||||
DEVELOPMENT := true
|
||||
|
|
@ -17,13 +17,13 @@ ifeq ($(DEVELOPMENT),true)
|
|||
else
|
||||
PRJS_DIR ?= /opt
|
||||
endif
|
||||
MOD_SCRIPT_DIR ?= $(firstword $(wildcard $(MODDIR)/scripts $(MODDIR)/bin))
|
||||
MOD_SCRIPT_DIR := $(firstword $(wildcard $(MODDIR)/scripts $(MODDIR)/bin))
|
||||
|
||||
# -- Query the build system about other projects:
|
||||
PYTHON ?= /usr/bin/python2
|
||||
ifneq ($(TOPDIR),)
|
||||
proj_query_cmd = $(PYTHON) $(MOD_SCRIPT_DIR)/projects.py -p $(PRJS_DIR) -t $(TOPDIR) $(PROJECTS_PY_EXTRA_ARGS)
|
||||
proj_query = $(shell $(proj_query_cmd) $(1))
|
||||
proj_dir = $(call proj_query,proj-dir $(1))
|
||||
htdocs_dir = $(call proj_query,htdocs-dir $(1))
|
||||
proj_query_cmd = $(PYTHON) $(MOD_SCRIPT_DIR)/projects.py -p $(PRJS_DIR) -t $(TOPDIR) $(PROJECTS_PY_EXTRA_ARGS)
|
||||
proj_query = $(shell $(proj_query_cmd) $(1))
|
||||
proj_dir = $(call proj_query,proj-dir $(1))
|
||||
htdocs_dir = $(call proj_query,htdocs-dir $(1))
|
||||
endif
|
||||
|
|
|
|||
15
make/tmpl.mk
15
make/tmpl.mk
|
|
@ -1,4 +1,19 @@
|
|||
include $(MODDIR)/make/defs.mk
|
||||
|
||||
# -- 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))
|
||||
|
||||
include $(MODDIR)/make/rules.mk
|
||||
|
||||
all:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue