
Markdown can be generated from .pod and .dbd.pod files. Markdown will be generated and installed by "make inc". Co-authored-by: Timo Korhonen <timo.korhonen@ess.eu> Co-authored-by: Andrew Johnson <anj@anl.gov>
566 lines
17 KiB
Plaintext
566 lines
17 KiB
Plaintext
#*************************************************************************
|
|
# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
|
|
# National Laboratory.
|
|
# Copyright (c) 2002 The Regents of the University of California, as
|
|
# Operator of Los Alamos National Laboratory.
|
|
# EPICS BASE is distributed subject to a Software License Agreement found
|
|
# in the file LICENSE that is included with this distribution.
|
|
#*************************************************************************
|
|
|
|
# RULES.Db
|
|
|
|
# Set db substitutions and template file suffixes
|
|
SUBST_SUFFIX ?= .substitutions
|
|
TEMPL_SUFFIX ?= .template
|
|
|
|
#---------------------------------------------------------------
|
|
# vpath
|
|
|
|
vpath %.pm $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
|
|
vpath %.pod $(USR_VPATH) $(SRC_DIRS) .. $(dir $(DBD))
|
|
vpath %.dbd $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
|
|
vpath %.db $(USR_VPATH) $(SRC_DIRS) $(dir $(DB))
|
|
vpath %.vdb $(USR_VPATH) $(SRC_DIRS) $(dir $(DB))
|
|
vpath %$(SUBST_SUFFIX) $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
vpath %$(TEMPL_SUFFIX) $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
vpath bpt%.data $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
vpath %.acf $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
vpath %.acs $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
|
|
|
|
#---------------------------------------------------------------
|
|
# dbflags dbdflags
|
|
|
|
DBD_SEARCH_DIRS = . .. $(COMMON_DIR) $(SRC_DIRS) $(INSTALL_DBD) $(RELEASE_DBD_DIRS)
|
|
DB_SEARCH_DIRS = . .. $(COMMON_DIR) $(SRC_DIRS) $(INSTALL_DB) $(RELEASE_DB_DIRS)
|
|
|
|
DBDFLAGS = $(USR_DBDFLAGS) $(CMD_DBDFLAGS) $(addprefix -I,$(DBD_SEARCH_DIRS))
|
|
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) $(CMD_DBFLAGS) $(addprefix -I,$(DB_SEARCH_DIRS))
|
|
REGRDDFLAGS = $(DBDFLAGS) $($*_REGRDDFLAGS) $(USR_REGRDDFLAGS) $(CMD_REGRDDFLAGS)
|
|
|
|
#---------------------------------------------------------------
|
|
# Targets
|
|
|
|
# ---------------------------------------------------
|
|
# To allow os specific dbd files AND have the -j option work properly,
|
|
|
|
CROSS_TARGET_OS_TYPES = $(sort $(foreach target, \
|
|
$(EPICS_HOST_ARCH) $(CROSS_COMPILER_TARGET_ARCHS), \
|
|
$(firstword $(subst -, ,$(target)))))
|
|
DBD += $(foreach type, $(CROSS_TARGET_OS_TYPES), $(DBD_$(type)))
|
|
|
|
# Users add os specific dbd files to a Makefile as follows
|
|
#
|
|
# DBD_vxWorks += abcVx.dbd
|
|
# DBD_RTEMS += abcRTEMS.dbd
|
|
# DBD_solaris += abcSolaris.dbd
|
|
#
|
|
# ---------------------------------------------------
|
|
# DBD concatination files
|
|
|
|
COMMON_DBDCATS += $(addprefix $(COMMON_DIR)/,$(DBDCAT))
|
|
DBDCAT_SOURCES += $(foreach file, $($*_DBD), $(DBDCAT_SOURCE) )
|
|
DBDCAT_SOURCE = $(firstword $(wildcard $(file) $(foreach dir, \
|
|
$(DBD_SEARCH_DIRS),$(addsuffix /$(file),$(dir)))) \
|
|
$(COMMON_DIR)/$(file))
|
|
|
|
DBDCAT_COMMAND = $(if $(DBDCAT_SOURCES),\
|
|
$(CAT) $(DBDCAT_SOURCES) > $(notdir $@),\
|
|
@echo "No input files for $(notdir $@)")
|
|
|
|
INSTALL_DBDS += $(addprefix $(INSTALL_DBD)/,$(DBDCAT))
|
|
|
|
# ---------------------------------------------------
|
|
|
|
DBDINC_NAME = $(patsubst %.h,%,$(patsubst %.dbd,%,$(DBDINC)))
|
|
DBD += $(addsuffix .dbd,$(DBDINC_NAME))
|
|
INC += $(addsuffix .h,$(DBDINC_NAME))
|
|
|
|
INSTALL_DBDS += $(addprefix $(INSTALL_DBD)/,$(notdir $(DBD)))
|
|
|
|
COMMON_DBDS += $(filter $(COMMON_DIR)/%, $(foreach file, $(DBD), \
|
|
$(firstword $(SOURCE_DBD) $(COMMON_DIR)/$(file) ) ) )
|
|
SOURCE_DBD = $(wildcard $(file) $(SOURCE_DBD_bbb) )
|
|
SOURCE_DBD_bbb = $(foreach dir, $(GENERIC_SRC_DIRS), $(SOURCE_DBD_aaa) )
|
|
SOURCE_DBD_aaa = $(addsuffix /$(file), $(dir) )
|
|
|
|
INSTALL_DBS += $(addprefix $(INSTALL_DB)/,$(notdir $(DB)))
|
|
|
|
COMMON_DBS += $(filter $(COMMON_DIR)/%, $(foreach file, $(DB), \
|
|
$(firstword $(SOURCE_DB) $(COMMON_DIR)/$(file) ) ) )
|
|
SOURCE_DB = $(wildcard $(file) $(SOURCE_DB_bbb) )
|
|
SOURCE_DB_bbb = $(foreach dir, $(GENERIC_SRC_DIRS), $(SOURCE_DB_aaa) )
|
|
SOURCE_DB_aaa = $(addsuffix /$(file), $(dir) )
|
|
|
|
COMMONS = $(COMMON_DIR)/*.dbd $(COMMON_DIR)/*.db $(COMMON_DIR)/*.h \
|
|
$(COMMON_DIR)/*$(SUBST_SUFFIX) $(COMMON_DIR)/*$(TEMPL_SUFFIX)
|
|
|
|
# Remove trailing numbers (to 99) on stem
|
|
TEMPLATE1 = $(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%, \
|
|
$(patsubst %4,%,$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%, \
|
|
$(patsubst %8,%,$(patsubst %9,%,$*))))))))))
|
|
TEMPLATE2 = $(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%, \
|
|
$(patsubst %4,%,$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%, \
|
|
$(patsubst %8,%,$(patsubst %9,%,$(TEMPLATE1)))))))))))
|
|
TEMPLATE3 = $(addsuffix $(TEMPL_SUFFIX),$(addprefix ../,$(TEMPLATE2)))
|
|
TEMPLATE_FILENAME = $(firstword $(wildcard $($*_TEMPLATE) \
|
|
$(addprefix ../,$($*_TEMPLATE)) ../$*$(TEMPL_SUFFIX) $(TEMPLATE3) \
|
|
../template))
|
|
|
|
INSTALL_DB_INSTALLS = $(addprefix $(INSTALL_DB)/,$(notdir $(DB_INSTALLS)))
|
|
INSTALL_DBD_INSTALLS = $(addprefix $(INSTALL_DBD)/,$(notdir $(DBD_INSTALLS)))
|
|
|
|
COMMONDEP_TARGET = $(COMMON_DIR)/$(basename $@)
|
|
|
|
#---------------------------------------------------------------
|
|
# acf files
|
|
|
|
# An access security configuration file, *.acf, can be created from
|
|
# an *.acs file (has format of acf file plus #include "filename" lines)
|
|
|
|
# flags for GNU compiler
|
|
ACF_CPPFLAGS_YES = -undef -nostdinc
|
|
ACF_CPPFLAGS = $(ACF_CPPFLAGS_$(GNU))
|
|
|
|
ACF_INCLUDES = -I. $(TARGET_INCLUDES) $(USR_INCLUDES)\
|
|
$(SRC_INCLUDES) -I$(INSTALL_DB)
|
|
ACFDEPENDS_CMD = $(MKMF) -m $@ $(ACF_INCLUDES) $(COMMONDEP_TARGET) $<
|
|
ACF_CMD = $(CPP) $(ACF_CPPFLAGS) $(ACF_INCLUDES) $< > $@
|
|
|
|
#---------------------------------------------------------------
|
|
# dependencies
|
|
|
|
HINC += $(addsuffix .h,$(DBDINC_NAME))
|
|
COMMON_DBDINC += $(addprefix $(COMMON_DIR)/,$(HINC))
|
|
|
|
DBDDEPENDS_FILES += $(addsuffix $(DEP),$(HINC) \
|
|
$(patsubst $(COMMON_DIR)/%,%,$(COMMON_DBS)) \
|
|
$(patsubst $(COMMON_DIR)/%,%, \
|
|
$(filter-out $(COMMON_DIR)/bpt%.dbd,$(COMMON_DBDS))))
|
|
|
|
#---------------------------------------------------------------
|
|
|
|
ifndef T_A
|
|
|
|
DEP = .d
|
|
TEMPLATE3 += $(addsuffix $(TEMPL_SUFFIX), $(TEMPLATE2))
|
|
|
|
COMMON_DIR = .
|
|
INSTALL_DBDS =
|
|
INSTALL_DBS =
|
|
COMMON_DBDS = $(DBD)
|
|
COMMON_DBS = $(DB)
|
|
COMMONS = $(DBD) $(DB)
|
|
|
|
ACTIONS = inc
|
|
ACTIONS += build
|
|
ACTIONS += install
|
|
ACTIONS += buildInstall
|
|
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
|
|
|
|
actionArchTargets = $(foreach action, $(ACTIONS), \
|
|
$(foreach arch, $(BUILD_ARCHS), $(action)$(DIVIDER)$(arch)))
|
|
cleanArchTargets = $(foreach arch, $(BUILD_ARCHS), clean$(DIVIDER)$(arch))
|
|
|
|
include $(CONFIG)/CONFIG_APP_INCLUDE
|
|
|
|
all: install
|
|
|
|
install: buildInstall
|
|
|
|
buildInstall: build
|
|
|
|
rebuild: clean install
|
|
|
|
.PHONY: all $(ACTIONS)
|
|
|
|
$(actionArchTargets) $(BUILD_ARCHS): install
|
|
$(cleanArchTargets): clean
|
|
|
|
.PHONY: $(BUILD_ARCHS) $(actionArchTargets) $(cleanArchTargets)
|
|
|
|
else
|
|
# T_A is defined
|
|
ifeq ($(EPICS_HOST_ARCH),$(T_A))
|
|
host: install
|
|
else
|
|
host:
|
|
endif
|
|
|
|
.PHONY: host
|
|
endif # T_A
|
|
|
|
ifneq (,$(strip $(DBDDEPENDS_FILES)))
|
|
-include $(DBDDEPENDS_FILES)
|
|
endif
|
|
|
|
#---------------------------------------------------------------
|
|
# build dependancies, clean rule
|
|
|
|
inc: $(COMMON_INC) $(INSTALL_INC) $(COMMON_DBDS) $(COMMON_DBDCATS) \
|
|
$(INSTALL_DBDS) $(INSTALL_DBD_INSTALLS) $(COMMON_DOCS)
|
|
|
|
build: $(COMMON_DBS) $(INSTALL_DBS) \
|
|
$(DBDDEPENDS_FILES) $(TARGETS) \
|
|
$(INSTALL_DB_INSTALLS)
|
|
|
|
clean: db_clean
|
|
|
|
db_clean:
|
|
@$(RM) $(COMMONS) $(DBDDEPENDS_FILES)
|
|
@$(RM) *_registerRecordDeviceDriver.cpp
|
|
@$(RM) $(TARGETS)
|
|
|
|
.PHONY: db_clean
|
|
|
|
realclean: clean
|
|
|
|
#---------------------------------------------------------------
|
|
# Dependency files
|
|
|
|
%Record.h$(DEP): $(COMMON_DIR)/%Record.dbd $(DBDTORECTYPEH_dep)
|
|
@$(RM) $@
|
|
@$(DBTORECORDTYPEH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
%Record.h$(DEP): %Record.dbd $(DBDTORECTYPEH_dep)
|
|
@$(RM) $@
|
|
@$(DBTORECORDTYPEH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
%Record.h$(DEP): ../%Record.dbd $(DBDTORECTYPEH_dep)
|
|
@$(RM) $@
|
|
@$(DBTORECORDTYPEH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
menu%.h$(DEP): $(COMMON_DIR)/menu%.dbd $(DBDTOMENUH_dep)
|
|
@$(RM) $@
|
|
@$(DBTOMENUH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
menu%.h$(DEP): menu%.dbd $(DBDTOMENUH_dep)
|
|
@$(RM) $@
|
|
@$(DBTOMENUH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
menu%.h$(DEP): ../menu%.dbd $(DBDTOMENUH_dep)
|
|
@$(RM) $@
|
|
@$(DBTOMENUH) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
%.dbd$(DEP): %.dbd.pod
|
|
@$(RM) $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" > $@
|
|
|
|
%.dbd$(DEP): %Include.dbd
|
|
@$(RM) $@
|
|
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
%.dbd$(DEP): ../%Include.dbd
|
|
@$(RM) $@
|
|
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
%.dbd$(DEP): $($*_DBD)
|
|
@$(RM) $@
|
|
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $($*_DBD) > $@
|
|
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
|
|
|
|
%.db$(DEP): %$(SUBST_SUFFIX)
|
|
@$(RM) $@
|
|
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
|
|
|
|
%.db$(DEP): ../%$(SUBST_SUFFIX)
|
|
@$(RM) $@
|
|
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
|
|
|
|
%.db$(DEP): %$(TEMPL_SUFFIX)
|
|
@$(RM) $@
|
|
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
|
|
%.db$(DEP): ../%$(TEMPL_SUFFIX)
|
|
@$(RM) $@
|
|
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
|
|
|
|
%.acf$(DEP): %.acs
|
|
@$(RM) $@
|
|
@$(ACFDEPENDS_CMD)
|
|
|
|
%.acf$(DEP): ../%.acs
|
|
@$(RM) $@
|
|
@$(ACFDEPENDS_CMD)
|
|
|
|
.PRECIOUS: %$(DEP)
|
|
|
|
#---------------------------------------------------------------
|
|
# Substitution files
|
|
|
|
# WARNING: CREATESUBSTITUTIONS script needs output dir on command line
|
|
|
|
ifdef CREATESUBSTITUTIONS
|
|
$(COMMON_DIR)/%$(SUBST_SUFFIX):
|
|
$(ECHO) "Create substitutions"
|
|
@$(RM) $@
|
|
$(CREATESUBSTITUTIONS) $@
|
|
endif
|
|
|
|
$(INSTALL_DB)/%$(SUBST_SUFFIX): %$(SUBST_SUFFIX)
|
|
$(ECHO) "Installing substitution file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(INSTALL_DB)/%$(SUBST_SUFFIX): ../%$(SUBST_SUFFIX)
|
|
$(ECHO) "Installing substitution file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
.PRECIOUS: $(COMMON_DIR)/%$(SUBST_SUFFIX)
|
|
|
|
#---------------------------------------------------------------
|
|
# Template files
|
|
|
|
$(INSTALL_DB)/%$(TEMPL_SUFFIX): %$(TEMPL_SUFFIX)
|
|
$(ECHO) "Installing template file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(INSTALL_DB)/%$(TEMPL_SUFFIX): ../%$(TEMPL_SUFFIX)
|
|
$(ECHO) "Installing template file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
.PRECIOUS: $(COMMON_DIR)/%$(TEMPL_SUFFIX)
|
|
|
|
#---------------------------------------------------------------
|
|
# INC files
|
|
|
|
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd $(DBDTORECTYPEH_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(DBTORECORDTYPEH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%Record.h: %Record.dbd $(DBDTORECTYPEH_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(DBTORECORDTYPEH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%Record.h: ../%Record.dbd $(DBDTORECTYPEH_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(DBTORECORDTYPEH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/menu%.h: $(COMMON_DIR)/menu%.dbd $(DBDTOMENUH_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(DBTOMENUH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/menu%.h: menu%.dbd $(DBDTOMENUH_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(DBTOMENUH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/menu%.h: ../menu%.dbd $(DBDTOMENUH_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(DBTOMENUH) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
.PRECIOUS: $(COMMON_DIR)/%.h
|
|
|
|
#---------------------------------------------------------------
|
|
# DBD files
|
|
|
|
$(COMMON_DIR)/bpt%.dbd: bpt%.data
|
|
$(ECHO) "Converting data from $<"
|
|
@$(RM) $(notdir $@)
|
|
$(MAKEBPT) $< $(notdir $@)
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.dbd: %.dbd.pod
|
|
@$(RM) $(notdir $@)
|
|
$(PERL) $(TOOLS)/podRemove.pl -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.dbd: %Include.dbd
|
|
$(ECHO) "Expanding dbd file $<"
|
|
@$(RM) $(notdir $@)
|
|
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.dbd: ../%Include.dbd
|
|
$(ECHO) "Expanding dbd file $<"
|
|
@$(RM) $(notdir $@)
|
|
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
# Make DBDCAT file x depend on x_DBD source files
|
|
define DBDCAT_template
|
|
$$(COMMON_DIR)/$(1).dbd: ../Makefile $$(foreach file, $$($(1)_DBD),$$(DBDCAT_SOURCE) )
|
|
endef
|
|
$(foreach name,$(subst .dbd,,$(DBDCAT)), $(eval $(call DBDCAT_template,$(name))))
|
|
|
|
$(COMMON_DBDCATS):$(COMMON_DIR)/%.dbd:
|
|
$(ECHO) "Creating dbd file $(notdir $@)"
|
|
@$(RM) $(notdir $@)
|
|
$(DBDCAT_COMMAND)
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.dbd: $($*_DBD)
|
|
$(ECHO) "Creating dbd file $(notdir $@)"
|
|
@$(RM) $(notdir $@)
|
|
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $($*_DBD)
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
|
|
$(ECHO) "Installing created dbd file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(INSTALL_DBD)/%: %
|
|
$(ECHO) "Installing dbd file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(INSTALL_DBD)/%: ../%
|
|
$(ECHO) "Installing dbd file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
define DBD_INSTALLS_template
|
|
$$(INSTALL_DBD)/$$(notdir $(1)): $(1)
|
|
$(ECHO) "Installing $$@"
|
|
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DBD)
|
|
endef
|
|
$(foreach file, $(DBD_INSTALLS), $(eval $(call DBD_INSTALLS_template, $(file))))
|
|
|
|
.PRECIOUS: $(COMMON_DBDS) $(COMMON_DIR)/%.dbd
|
|
|
|
#---------------------------------------------------------------
|
|
# Markdown files
|
|
|
|
$(COMMON_DIR)/%.md: %.dbd.pod $(DBDTOMD_pl)
|
|
@$(RM) $(notdir $@)
|
|
$(DBDTOMD) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.md: %.pod $(PODTOMD_pl)
|
|
@$(RM) $(notdir $@)
|
|
$(PODTOMD) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.md: ../%.pl $(PODTOMD_pl)
|
|
@$(RM) $(notdir $@)
|
|
$(PODTOMD) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
.PRECIOUS: $(COMMON_DIR)/%.md
|
|
|
|
#---------------------------------------------------------------
|
|
# HTML files
|
|
|
|
$(COMMON_DIR)/%.html: %.dbd.pod $(DBDTOHTML_pl)
|
|
@$(RM) $(notdir $@)
|
|
$(DBDTOHTML) $(DBDFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.html: %.pod $(PODTOHTML_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(PODTOHTML) -s -s -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.html: %.pm $(PODTOHTML_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(PODTOHTML) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.html: ../%.pm $(PODTOHTML_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(PODTOHTML) -s -o $(notdir $@) $<
|
|
@$(MKDIR) $(dir $@)
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.html: ../%.pl $(PODTOHTML_dep)
|
|
@$(RM) $(notdir $@)
|
|
$(PODTOHTML) -s -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
.PRECIOUS: $(COMMON_DIR)/%.html
|
|
|
|
#---------------------------------------------------------------
|
|
# DB files
|
|
|
|
$(COMMON_DIR)/%.db: $(COMMON_DIR)/%.edf
|
|
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $*.VAR $<
|
|
@$(REPLACEVAR) < $*.VAR > $@
|
|
@$(RM) $*.VAR
|
|
|
|
$(COMMON_DIR)/%.db: %$(SUBST_SUFFIX)
|
|
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
|
|
@$(RM) $(notdir $@)
|
|
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) -S$< $(TEMPLATE_FILENAME)
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.db: ../%$(SUBST_SUFFIX)
|
|
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
|
|
@$(RM) $(notdir $@)
|
|
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) -S$< $(TEMPLATE_FILENAME)
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.db: %$(TEMPL_SUFFIX)
|
|
$(ECHO) "Inflating database from $<"
|
|
@$(RM) $(notdir $@)
|
|
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.db: ../%$(TEMPL_SUFFIX)
|
|
$(ECHO) "Inflating database from $<"
|
|
@$(RM) $(notdir $@)
|
|
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
|
|
@$(MV) $(notdir $@) $@
|
|
|
|
$(COMMON_DIR)/%.acf: %.acs
|
|
$(ECHO) "Creating acf file $@"
|
|
@$(RM) $@
|
|
$(ACF_CMD)
|
|
|
|
$(COMMON_DIR)/%.acf: ../%.acs
|
|
$(ECHO) "Creating acf file $@"
|
|
@$(RM) $@
|
|
$(ACF_CMD)
|
|
|
|
.PRECIOUS: $(COMMON_DIR)/%.acf
|
|
|
|
$(INSTALL_DB)/%: %
|
|
$(ECHO) "Installing $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(INSTALL_DB)/%: ../%
|
|
$(ECHO) "Installing $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
|
|
$(ECHO) "Installing created db file $@"
|
|
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
|
|
|
|
define DB_INSTALLS_template
|
|
$$(INSTALL_DB)/$$(notdir $(1)): $(1)
|
|
$(ECHO) "Installing $$@"
|
|
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DB)
|
|
endef
|
|
$(foreach file, $(DB_INSTALLS), $(eval $(call DB_INSTALLS_template, $(file))))
|
|
|
|
.PRECIOUS: $(COMMON_DIR)/%.edf
|
|
.PRECIOUS: $(COMMON_DBS)
|
|
|
|
#---------------------------------------------------------------
|
|
# register record,device,driver support
|
|
|
|
%_registerRecordDeviceDriver.cpp: $(COMMON_DIR)/%.dbd $(REGRECDEVDRV_dep)
|
|
@$(RM) $@
|
|
$(REGISTERRECORDDEVICEDRIVER) $(REGRDDFLAGS) -o $@ \
|
|
$< $(basename $@) $(IOCS_APPL_TOP)
|
|
|
|
%_registerRecordDeviceDriver.cpp: %.dbd $(REGRECDEVDRV_dep)
|
|
@$(RM) $@
|
|
$(REGISTERRECORDDEVICEDRIVER) $(REGRDDFLAGS) -o $@ \
|
|
$< $(basename $@) $(IOCS_APPL_TOP)
|
|
|
|
%_registerRecordDeviceDriver.cpp: ../%.dbd $(REGRECDEVDRV_dep)
|
|
@$(RM) $@
|
|
$(REGISTERRECORDDEVICEDRIVER) $(REGRDDFLAGS) -o $@ \
|
|
$< $(basename $@) $(IOCS_APPL_TOP)
|
|
|
|
.PRECIOUS: %_registerRecordDeviceDriver.cpp
|