224 lines
6.2 KiB
Plaintext
224 lines
6.2 KiB
Plaintext
#RULES.Db
|
|
|
|
##################################################### vpath
|
|
|
|
vpath %.dbd $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DBD)) $(COMMON_DIR)
|
|
vpath %.db $(USR_VPATH) $(GENERIC_SRC_DIRS) $(dir $(DB)) $(COMMON_DIR)
|
|
vpath %.substitutions $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
|
|
vpath %.template $(USR_VPATH) $(GENERIC_SRC_DIRS) $(COMMON_DIR)
|
|
|
|
##################################################### dbdflags
|
|
|
|
# dbExpand
|
|
INSTALL_DBDFLAGS += -I $(INSTALL_LOCATION)/dbd
|
|
DBDFLAGS = $(USR_DBDFLAGS) -I . -I .. $(INSTALL_DBDFLAGS)
|
|
|
|
##################################################### Targets
|
|
|
|
# Following line added for backward compatibilty
|
|
DBD += $(DBDNAME)
|
|
|
|
DBD += $(addsuffix .dbd,$(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC))))
|
|
INC += $(addsuffix .h,$(patsubst %.h,%,$(patsubst %.db,%,$(DBDINC))))
|
|
|
|
INSTALL_DBDS += $(DBD:%= $(INSTALL_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) )
|
|
|
|
##################################################### build dependancies, clean rule
|
|
|
|
inc : $(COMMON_INC) $(INSTALL_INC)
|
|
|
|
build : $(COMMON_DBDS) $(COMMON_DBS) \
|
|
$(INSTALL_DBDS) $(INSTALL_DBS)
|
|
|
|
clean::
|
|
@$(RM) $(COMMON_DIR)/*.dbd
|
|
@$(RM) $(COMMON_DIR)/*.db
|
|
@$(RM) $(COMMON_DIR)/*.h
|
|
@$(RM) *_registerRecordDeviceDriver.cpp
|
|
@$(RM) $(COMMON_DIR)/*.substitutions
|
|
@$(RM) $(COMMON_DIR)/*.template
|
|
|
|
##################################################### "Foreign" templates
|
|
|
|
TEMPLATE_LINKS = $(filter-out $(notdir $(USES_TEMPLATE)), $(USES_TEMPLATE))
|
|
TEMPLATE_FILES = $(filter $(notdir $(USES_TEMPLATE)), $(USES_TEMPLATE))
|
|
COMMON_TEMPLATES=$(addsuffix $(COMMON_DIR)/,$(notdir $(TEMPLATE_LINKS)))
|
|
|
|
ifneq '$(TEMPLATE_LINKS)' ''
|
|
build: $(notdir $(TEMPLATE_LINKS))
|
|
endif
|
|
build: $(TEMPLATE_FILES)
|
|
|
|
$(COMMON_TEMPLATES): $(COMMON_DIR)/%.template:
|
|
ifndef WIN32
|
|
@$(RM) $(notdir $(TEMPLATE_LINKS))
|
|
ln -s $(TEMPLATE_LINKS)
|
|
else
|
|
@$(RM) $(notdir $(TEMPLATE_LINKS))
|
|
$(CP) $(TEMPLATE_LINKS)
|
|
endif
|
|
|
|
##################################################### CapFast filter
|
|
|
|
$(COMMON_DIR)/%.edf: ../%.sch $(DEPSCHS)
|
|
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
|
|
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) $<
|
|
|
|
##################################################### Substitution files
|
|
|
|
#$(COMMON_DIR)/%.substitutions: ../%.substitutions $(COMMON_DIR)/%.template
|
|
# @$(CP) $< $@
|
|
|
|
# WARNING: CREATESUBSTITUTIONS script need output dir on command line
|
|
|
|
ifdef CREATESUBSTITUTIONS
|
|
$(COMMON_DIR)/%.substitutions:
|
|
@$(CREATESUBSTITUTIONS) $(COMMON_DIR)/$*
|
|
endif
|
|
|
|
.PRECIOUS: $(DB:%.db=$(COMMON_DIR)/%.substitutions)
|
|
|
|
##################################################### Template files
|
|
|
|
#$(COMMON_DIR)/%.template: ../%.template
|
|
# @$(CP) $< $@
|
|
|
|
$(COMMON_DIR)/%.template:
|
|
@$(TOUCH) $@
|
|
|
|
$(COMMON_DIR)/%.template: $(COMMON_DIR)/%.edf
|
|
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $@.VAR $<
|
|
@$(REPLACEVAR) < $@.VAR > $@
|
|
@$(RM) $@.VAR
|
|
|
|
$(COMMON_DIR)/%.template: ../%.edf
|
|
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $@.VAR $<
|
|
@$(REPLACEVAR) < $@.VAR > $@
|
|
@$(RM) $@.VAR
|
|
|
|
.PRECIOUS: $(DB:%.db=$(COMMON_DIR)/%.template)
|
|
|
|
##################################################### INC files
|
|
|
|
$(COMMON_DIR)/%Record.h: ../%Record.dbd
|
|
@$(RM) $@
|
|
$(DBTORECORDTYPEH) $(DBDFLAGS) $< $@
|
|
|
|
$(COMMON_DIR)/menu%.h: ../menu%.dbd
|
|
@$(RM) $@
|
|
$(DBTOMENUH) $< $@
|
|
|
|
##################################################### DBD files
|
|
|
|
$(COMMON_DIR)/bpt%.dbd: ../bpt%.data
|
|
$(RM) $@
|
|
$(MAKEBPT) $< $@
|
|
|
|
$(COMMON_DIR)/%.dbd: ../%Include.dbd
|
|
@echo "Expanding dbd"
|
|
$(RM) $@
|
|
$(DBEXPAND) $(DBDFLAGS) $< > $@
|
|
|
|
$(INSTALL_DBD)/%: $(COMMON_DIR)/%
|
|
@echo "Installing dbd file $@"
|
|
@$(INSTALL) -d -m 644 $< $(@D)
|
|
|
|
$(INSTALL_DBD)/%: ../%
|
|
@echo "Installing dbd file $@"
|
|
@$(INSTALL) -d -m 644 $< $(@D)
|
|
|
|
.PRECIOUS: $(COMMON_DBDS)
|
|
|
|
##################################################### DB files
|
|
|
|
$(COMMON_DIR)/%.db$(RAW): ../%.db
|
|
$(CP) $< $@
|
|
|
|
$(COMMON_DIR)/%.db$(RAW): $(COMMON_DIR)/%.edf
|
|
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $@.VAR $<
|
|
@$(REPLACEVAR) < $@.VAR > $@
|
|
@$(RM) $@.VAR
|
|
|
|
$(COMMON_DIR)/%.db$(RAW): ../%.edf
|
|
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $@.VAR $<
|
|
@$(REPLACEVAR) < $@.VAR > $@
|
|
@$(RM) $@.VAR
|
|
|
|
$(COMMON_DIR)/%.db$(RAW): %.substitutions %.template
|
|
@echo "Inflating database from $<"
|
|
@$(RM) $@
|
|
$(MSI) -S $^ > $@
|
|
|
|
# dbst based database optimization
|
|
ifeq '$(DB_OPT)' 'YES'
|
|
|
|
$(COMMON_DIR)/%.db: $(COMMON_DIR)/%.db$(RAW)
|
|
@echo "Optimizing database $@"
|
|
$(DBST) . $< -d > $@
|
|
|
|
RAW=.raw
|
|
|
|
.PRECIOUS: $(DB:%=$(COMMON_DIR)/%$(RAW))
|
|
else
|
|
|
|
$(INSTALL_DB)/%: %
|
|
@echo "Installing db file $@"
|
|
@$(INSTALL) -d -m 644 $< $(@D)
|
|
|
|
endif
|
|
|
|
$(INSTALL_DB)/%: $(COMMON_DIR)/%
|
|
@echo "Installing db file $@"
|
|
@$(INSTALL) -d -m 644 $< $(@D)
|
|
|
|
.PRECIOUS: $(COMMON_DBS)
|
|
|
|
##################################################### register record,device,driver support
|
|
|
|
%_registerRecordDeviceDriver.cpp: $(COMMON_DIR)/%.dbd
|
|
$(RM) $@
|
|
$(REGISTERRECORDDEVICEDRIVER) $< > $@
|
|
|
|
%_registerRecordDeviceDriver.cpp: ../%.dbd
|
|
$(RM) $@
|
|
$(REGISTERRECORDDEVICEDRIVER) $< > $@
|
|
|
|
##################################################### DB dependancies
|
|
|
|
ifneq (,$(COMMON_DBS))
|
|
DBDEPENDS: $(COMMON_DBS:$(COMMON_DIR)/%.db=%.substitutions) $(COMMON_DBS:$(COMMON_DIR)/%.db=%.template)
|
|
@echo 'Creating DB dependancy file $@'
|
|
@echo "Making template database dependencies"
|
|
@$(MAKEDBDEPENDS) $^
|
|
|
|
-include DBDEPENDS
|
|
endif
|
|
|
|
##################################################### DBD dependancies
|
|
|
|
ifneq (,$(wildcard $(patsubst %.dbd,../%Include.dbd,$(notdir $(COMMON_DBDS)))))
|
|
DBDDEPENDS_%: ../%Include.dbd
|
|
@echo 'Creating DBD dependancy file $@'
|
|
@$(RM) $@
|
|
$(MAKEDBDDEPENDS) $(DBDFLAGS) $(COMMON_DIR)/$*.dbd $< > $@
|
|
|
|
-include $(patsubst ../%Include.dbd,DBDDEPENDS_%,$(wildcard $(patsubst %.dbd,../%Include.dbd,$(notdir $(COMMON_DBDS)))))
|
|
endif
|
|
|
|
##################################################### END OF FILE
|
|
|