diff --git a/.gitignore b/.gitignore index 46b32dc1a..046630981 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /lib/ /db/ /dbd/ +/doc/ /html/ /include/ /templates/ diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index 2595231f4..1b3d01233 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -486,4 +486,9 @@ COMMON_INC += $(filter $(COMMON_DIR)/%, \ $(foreach dir, $(ALL_SRC_DIRS), \ $(addsuffix /$(file), $(dir)))) $(COMMON_DIR)/$(file)))) +COMMON_DOCS += $(filter $(COMMON_DIR)/%, \ + $(foreach file, $(DOCS), \ + $(firstword $(wildcard $(file) \ + $(foreach dir, $(ALL_SRC_DIRS), \ + $(addsuffix /$(file), $(dir)))) $(COMMON_DIR)/$(file)))) endif diff --git a/configure/RULES.Db b/configure/RULES.Db index f08af423d..4a984f8c3 100644 --- a/configure/RULES.Db +++ b/configure/RULES.Db @@ -197,7 +197,7 @@ endif # build dependancies, clean rule inc: $(COMMON_INC) $(INSTALL_INC) $(COMMON_DBDS) $(COMMON_DBDCATS) \ - $(INSTALL_DBDS) $(INSTALL_DBD_INSTALLS) + $(INSTALL_DBDS) $(INSTALL_DBD_INSTALLS) $(COMMON_DOCS) build: $(COMMON_DBS) $(INSTALL_DBS) \ $(DBDDEPENDS_FILES) $(TARGETS) \ @@ -427,6 +427,26 @@ $(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 diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index cbfaae99d..e38bbcf08 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -22,7 +22,8 @@ vpath %.cpp $(USR_VPATH) $(ALL_SRC_DIRS) vpath %.rc $(USR_VPATH) $(ALL_SRC_DIRS) vpath %.h $(USR_VPATH) $(ALL_SRC_DIRS) vpath %.hpp $(USR_VPATH) $(ALL_SRC_DIRS) -vpath %.html $(USR_VPATH) $(ALL_SRC_DIRS) +vpath %.html $(USR_VPATH) $(ALL_SRC_DIRS) $(COMMON_DIR) +vpath %.md $(USR_VPATH) $(ALL_SRC_DIRS) $(COMMON_DIR) vpath %.skel.static $(USR_VPATH) $(ALL_SRC_DIRS) vpath %.y $(USR_VPATH) $(ALL_SRC_DIRS) vpath %.l $(USR_VPATH) $(ALL_SRC_DIRS) @@ -111,7 +112,7 @@ endif #--------------------------------------------------------------- # Read dependency files -ifneq (inc,$(strip $(MAKECMDGOALS))) +ifneq ($(filter-out inc,$(strip $(MAKECMDGOALS))),) ifneq (,$(strip $(HDEPENDS_FILES))) $(filter-out $(wildcard *$(DEP)), $(HDEPENDS_FILES)): | $(COMMON_INC) -include $(HDEPENDS_FILES) @@ -165,12 +166,12 @@ build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODTARGETS) \ $(TARGETS) $(TESTSCRIPTS) $(INSTALL_LIB_INSTALLS) inc: $(COMMON_INC) $(INSTALL_INC) $(INSTALL_CONFIGS) $(INSTALLS_CFG) \ - $(INSTALL_HTMLS) $(INSTALLS_PERL_MODULES) $(INSTALL_SCRIPTS) + $(INSTALL_HTMLS) $(INSTALLS_PERL_MODULES) $(INSTALL_SCRIPTS) \ + $(INSTALL_DOCS) buildInstall: \ $(INSTALL_PROD) $(INSTALL_MUNCHS) \ $(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX) \ - $(INSTALL_DOCS) \ $(INSTALL_OBJS) \ $(INSTALL_TEMPLATE) \ $(INSTALL_BIN_INSTALLS) @@ -555,6 +556,10 @@ $(INSTALL_INCLUDE)/compiler/$(CMPLR_CLASS)/%: % $(ECHO) "Installing compiler dependent include file $@" @$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D) +$(INSTALL_DOC)/%: $(COMMON_DIR)/% + $(ECHO) "Installing generated doc $@" + @$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D) + $(INSTALL_DOC)/%: % $(ECHO) "Installing doc $@" @$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(INSTALL_DOC) diff --git a/modules/ca/src/perl/Makefile b/modules/ca/src/perl/Makefile index 05500ad05..98eaedc93 100644 --- a/modules/ca/src/perl/Makefile +++ b/modules/ca/src/perl/Makefile @@ -38,7 +38,7 @@ ifeq ($(wildcard $(PERL_h)),) endif endif -ifneq (inc,$(strip $(MAKECMDGOALS))) +ifneq ($(filter-out inc,$(strip $(MAKECMDGOALS))),) ifeq ($(T_A),$(EPICS_HOST_ARCH)) # No cross-builds (wrong Perl!) ifeq ($(strip $(XSUBPP)),) $(warning Perl's xsubpp program was not found.) diff --git a/modules/database/src/ioc/bpt/Makefile b/modules/database/src/ioc/bpt/Makefile index a383d0864..9aed0f690 100644 --- a/modules/database/src/ioc/bpt/Makefile +++ b/modules/database/src/ioc/bpt/Makefile @@ -20,7 +20,7 @@ BPT_DBD += bptTypeJdegF.dbd BPT_DBD += bptTypeKdegC.dbd BPT_DBD += bptTypeKdegF.dbd -ifneq (inc,$(strip $(MAKECMDGOALS))) +ifneq ($(filter-out inc,$(strip $(MAKECMDGOALS))),) DBD += $(BPT_DBD) endif diff --git a/modules/database/test/std/rec/Makefile b/modules/database/test/std/rec/Makefile index a717b769e..ebc4ac3d0 100644 --- a/modules/database/test/std/rec/Makefile +++ b/modules/database/test/std/rec/Makefile @@ -21,7 +21,9 @@ dbRecStdTest_LIBS += dbRecStd dbCore ca Com PROD_LIBS = dbRecStdTest dbRecStd dbCore ca Com TARGETS += $(COMMON_DIR)/recTestIoc.dbd +ifneq (inc,$(strip $(MAKECMDGOALS))) DBDDEPENDS_FILES += recTestIoc.dbd$(DEP) +endif recTestIoc_DBD = base.dbd recTestIoc_DBD += bptTypeKdegC.dbd recTestIoc_DBD += bptTypeKdegF.dbd @@ -174,7 +176,9 @@ TESTS += regressTest TARGETS += $(COMMON_DIR)/simmTest.dbd TARGETS += $(COMMON_DIR)/simmTest.db DBDDEPENDS_FILES += simmTest.dbd$(DEP) +ifneq (inc,$(strip $(MAKECMDGOALS))) DBDDEPENDS_FILES += simmTest.db$(DEP) +endif simmTest_DBD += base.dbd TESTPROD_HOST += simmTest simmTest_SRCS += simmTest.c