Skip to content
Snippets Groups Projects
Commit fa9c7039 authored by Karl Vestin's avatar Karl Vestin
Browse files

Initial commit

parents
No related branches found
No related tags found
No related merge requests found
# Editor-related
*~
.vscode
# OS-related
.DS_Store
# Common e3 artifacts
*.local
core.*
*-loc/*.Makefile
cfprocessms/*.Makefile
cellMods/
testMods*/
*PVs.list
pv.list
dbl
This diff is collapsed.
Makefile 0 → 100644
# Copyright (C) 2022 European Spallation Source ERIC
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
TOP := $(CURDIR)
include $(TOP)/configure/CONFIG
include $(TOP)/configure/RULES
# e3-cfprocessms
Wrapper for the module cfprocessms
<!-- This README.md should be updated as part of creation and should add complementary information about the wrapped module in question (usage, etc.). Once the repository is set up, empty/unused directories should also be purged. -->
## Requirements
<!-- Put requirements here, like:
- libusb
- ...
-->
## EPICS dependencies
<!-- Run `make dep` and put the results here, like:
```sh
$ make dep
require examplemodule,1.0.0
< configured ...
COMMON_DEP_VERSION = 1.0.0
> generated ...
common 1.0.0
```
-->
## Installation
```sh
$ make init patch build
$ make install
```
For further targets, type `make`.
## Usage
```sh
$ iocsh -r "cfprocessms"
```
## Additional information
<!-- Put design info or links (where the real pages could be in e.g. `docs/design.md`, `docs/usage.md`) to design info here.
-->
## Contributing
Contributions through pull/merge requests only.
# Copyright (C) 2022 European Spallation Source ERIC
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# The following lines are required
where_am_I := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
include $(E3_REQUIRE_TOOLS)/driver.makefile
include $(E3_REQUIRE_CONFIG)/DECOUPLE_FLAGS
# Most modules only need to be built for x86_64
ARCH_FILTER += linux-x86_64
# If your module has dependencies, you will generate want to include them like
#
# REQUIRED += asyn
# ifneq ($(strip $(ASYN_DEP_VERSION)),)
# asyn_VERSION=$(ASYN_DEP_VERSION)
# endif
#
# with $(ASYN_DEP_VERSION) defined in `configure/CONFIG_MODULE`
# Since this file (cfprocessms.Makefile) is copied into
# the module directory at build-time, these paths have to be relative
# to that path
APP := cfprocessmsApp
APPDB := $(APP)/Db
APPSRC := $(APP)/src
# If you have files to include, you will generally want to include these, e.g.
#
# SOURCES += $(APPSRC)/cfprocessmsMain.cpp
# SOURCES += $(APPSRC)/library.c
# HEADERS += $(APPSRC)/library.h
# USR_INCLUDES += -I$(where_am_I)$(APPSRC)
TEMPLATES += $(wildcard $(APPDB)/*.db)
TEMPLATES += $(wildcard $(APPDB)/*.proto)
TEMPLATES += $(wildcard $(APPDB)/*.template)
SCRIPTS += $(wildcard ../iocsh/*.iocsh)
# Same as with any source or header files, you can also use $SUBS and $TMPS to define
# database files to be inflated (using MSI), e.g.
#
# SUBS = $(wildcard $(APPDB)/*.substitutions)
# TMPS = $(wildcard $(APPDB)/*.template)
USR_DBFLAGS += -I . -I ..
USR_DBFLAGS += -I $(EPICS_BASE)/db
USR_DBFLAGS += -I $(APPDB)
.PHONY: vlibs
vlibs:
# This should be a test or example startup script
require cfprocessms
VARS_EXCLUDES := $(.VARIABLES)
include $(TOP)/configure/RELEASE
include $(TOP)/configure/CONFIG_MODULE
E3_REQUIRE_LOCATION := $(EPICS_BASE)/$(E3_REQUIRE_NAME)/$(E3_REQUIRE_VERSION)
REQUIRE_CONFIG := $(E3_REQUIRE_LOCATION)/configure
include $(REQUIRE_CONFIG)/CONFIG
EPICS_MODULE_NAME := cfprocessms
E3_MODULE_VERSION := main
E3_MODULE_NAME := cfprocessms
E3_MODULE_SRC_PATH := $(EPICS_MODULE_NAME)
E3_MODULE_MAKEFILE := $(E3_MODULE_NAME).Makefile
-include $(TOP)/configure/CONFIG_OPTIONS
-include $(TOP)/configure/CONFIG_MODULE.local
# WITH_PVA := NO
-include $(TOP)/configure/CONFIG_OPTIONS.local
EPICS_BASE := /epics/base-7.0.6.1
E3_REQUIRE_NAME := require
E3_REQUIRE_VERSION := 4.0.0
-include $(TOP)/../../RELEASE.local
-include $(TOP)/../RELEASE.local
-include $(TOP)/configure/RELEASE.local
include $(REQUIRE_CONFIG)/RULES_SITEMODS
include $(TOP)/configure/module/RULES_MODULE
-include $(TOP)/configure/module/RULES_DKMS_L
.PHONY: db
db: conf
$(QUIET) $(E3_MODULE_MAKE_CMDS) db
.PHONY: hdrs
hdrs:
# $(SUDO) install -m 755 -d $(E3_MODULES_INSTALL_LOCATION_INC)/pv
# cd $(E3_MODULES_INSTALL_LOCATION_INC) && $(SUDO) mv *.h pv/
# There is also an `epics` target that can be used to build the
# module as a standard EPICS module, that can be used like
#
# .PHONY: epics
# epics:
# $(QUIET)echo "EPICS_BASE := $(EPICS_BASE)" > $(TOP)/$(E3_MODULE_SRC_PATH)/configure/RELEASE
# $(QUIET)echo "ASYN := $(M_ASYN)" > $(TOP)/$(E3_MODULE_SRC_PATH)/configure/RELEASE
# $(QUIET)echo "SSCAN := $(M_SSCAN)" >> $(TOP)/$(E3_MODULE_SRC_PATH)/configure/RELEASE
# $(QUIET)echo "SNCSEQ := $(M_SNCSEQ)" >> $(TOP)/$(E3_MODULE_SRC_PATH)/configure/RELEASE
# $(QUIET)echo "CHECK_RELEASE := YES" > $(TOP)/$(E3_MODULE_SRC_PATH)/configure/CONFIG_SITE
# $(QUIET)echo "INSTALL_LOCATION := $(M_DEVLIB2)" >> $(TOP)/$(E3_MODULE_SRC_PATH)/configure/CONFIG_SITE
# $(SUDOBASH) "$(MAKE) -C $(E3_MODULE_SRC_PATH)"
# Snippet directory
Store IOC shell script snippets in this folder.
This `README.md` file should be deleted as part of the setup, as should the directory `iocsh/` if unused.
# GUI directory
Store GUIs associated with this module here.
This `README.md` file should be deleted as part of the setup, as should the directory `opi/` if unused.
# History
## E3_MODULE_VERSION-what_ever_filename.p0.patch
Description of patch.
* Author
* URL and references
* Date
# Site specific patch files
Patch-files exist to modify community modules without having to maintain forks. It is generally advised to also create upstream merge request, in order to later be able to deprecate patches.
## How to create a p0 patch file
```sh
$ git diff feb8856 master --no-prefix > ../patch/Site/E3_MODULE_VERSION/what_ever_filename.p0.patch
```
# Database directory
Store ESS-specific database files, templates, and substitution files here.
This `README.md` file should be deleted as part of the setup, as should the directory `template/` if unused.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment