Skip to content
Snippets Groups Projects
RULES_E3 2.6 KiB
Newer Older

.PHONY: help default install uninstall build rebuild clean conf

default: help


# # help is defined in 
# # https://gist.github.com/rcmachado/af3db315e31383502660
help:
	$(info --------------------------------------- )	
	$(info Available targets)
	$(info --------------------------------------- )
	$(QUIET) awk '/^[a-zA-Z\-\_0-9]+:/ {            \
	  nb = sub( /^## /, "", helpMsg );              \
	  if(nb == 0) {                                 \
	    helpMsg = $$0;                              \
	    nb = sub( /^[^:]*:.* ## /, "", helpMsg );   \
	  }                                             \
	  if (nb)                                       \
	    print  $$1 "\t" helpMsg;                    \
	}                                               \
	{ helpMsg = $$0 }'                              \
	$(MAKEFILE_LIST) | column -ts:	



## Install : $(E3_MODULE_NAME)
install: install_module install_links

#install_module: uninstall 
install_module: uninstall db
	$(QUIET) $(SUDOBASH) '$(E3_MODULE_MAKE_CMDS) install'

## Uninstall : $(E3_MODULE_NAME)
uninstall: conf
	$(QUIET) $(SUDOBASH) '$(E3_MODULE_MAKE_CMDS) uninstall'

## Build the EPICS Module : $(E3_MODULE_NAME)
# Build always the Module with the EPICS_MODULES_TAG
build: conf checkout
	$(QUIET) $(E3_MODULE_MAKE_CMDS) build


## Clean, build, and install the EPICS Module : $(E3_MODULE_NAME)
rebuild: clean build install


## Clean : $(E3_MODULE_NAME)
clean: conf
	$(QUIET) $(E3_MODULE_MAKE_CMDS) clean


## Copy $(E3_MODULE_MAKEFILE) into $(E3_MODULE_SRC_PATH)
conf: 
	$(QUIET) install -m 644 $(TOP)/$(E3_MODULE_MAKEFILE)  $(E3_MODULE_SRC_PATH)/


.PHONY: init git-submodule-sync $(E3_MODULE_SRC_PATH)  checkout

## Initialize : $(E3_MODULE_SRC_PATH) 
init: git-submodule-sync $(E3_MODULE_SRC_PATH)  checkout

git-submodule-sync:
	$(QUIET) git submodule sync


$(E3_MODULE_SRC_PATH): 
	$(QUIET) $(git_update)

checkout: 
	cd $(E3_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG)



# Create symbolic links in siteLibs

.PHONY: install_links $(INSTALLED_EPICS_BASE_ARCHS)


install_links: $(INSTALLED_EPICS_BASE_ARCHS)
	$(SUDO) ln -snf $(E3_MODULES_INSTALL_LOCATION_INC) $(E3_MODULES_INSTALL_LOCATION_INC_LINK)
	$(SUDO) ln -snf $(E3_MODULES_INSTALL_LOCATION_DB)  $(E3_MODULES_INSTALL_LOCATION_DB_LINK)
	$(SUDO) ln -snf $(E3_MODULES_INSTALL_LOCATION_BIN) $(E3_MODULES_INSTALL_LOCATION_BIN_LINK)
	$(SUDO) ln -sf  $(E3_MODULES_INSTALL_LOCATION_DBD) $(E3_MODULES_INSTALL_LOCATION_DBD_LINK)


$(INSTALLED_EPICS_BASE_ARCHS):
	$(SUDO) mkdir -p $(E3_SITELIBS_PATH)/$@
Jeong Han Lee's avatar
Jeong Han Lee committed
	$(SUDO) ln -sf $(E3_MODULES_INSTALL_LOCATION)/lib/$@/$(E3_MODULES_LIBNAME) $(E3_SITELIBS_PATH)/$@/$(E3_MODULES_LIBLINKNAME)