Skip to content

Commit

Permalink
add the standard EPICS building system (#1)
Browse files Browse the repository at this point in the history
* compiled with the standard EPICS
* restructure and add license paragraph into makefile
* move checkws to tools
* add example IOC
* add travis
* split RELEASE and README
  • Loading branch information
jeonghanlee authored Sep 18, 2019
1 parent 2eebd01 commit a199d17
Show file tree
Hide file tree
Showing 129 changed files with 900 additions and 405 deletions.
1 change: 1 addition & 0 deletions .ci
Submodule .ci added at 6d2eba
19 changes: 18 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,21 @@
.DS_Store
._.DS_Store
builddir/
ecmcApp/src/gitversion.c
ecmcApp/src/gitversion.c
bin/
db/
dbd/
O.Common/
O.linux-x86_64/
core
envPaths
*#
*.list
.#*
*~
.cmd
.output
tools/setenv*
*.local
include/
lib/
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "exprtkSupport"]
path = exprtkSupport
url = https://github.com/icshwi/exprtk-ess
[submodule ".ci"]
path = .ci
url = https://github.com/jeonghanlee/travis_ci
45 changes: 45 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
sudo: enabled

language: generic

branches:
only:
- devel/epics-modules

git:
submodules: true

env:
global:
- EPICS_PATH=${HOME}/epics_env
- EPICS_BASE=${EPICS_PATH}/epics-base
- EPICS_MODULES=${EPICS_PATH}/epics-modules
- MAKEFLAGS="-j 2"

matrix:
include:
- os: linux
dist: xenial
- os: linux
dist: bionic


before_install:
- sudo apt update
- bash .ci/setup_packages.bash
- bash .ci/ethercat.bash
- bash .ci/setup_repo.bash
- bash .ci/setup_epics_base.bash

install:
# - source $EPICS_PATH/setEpicsEnv.bash
- echo "ASYN=${EPICS_MODULES}/asyn" > ${TRAVIS_BUILD_DIR}/configure/RELEASE.local
- echo "EPICS_BASE=${EPICS_BASE}" >> ${TRAVIS_BUILD_DIR}/configure/RELEASE.local
- echo "ASYN=${EPICS_MODULES}/asyn" > ${TRAVIS_BUILD_DIR}/ecmcExampleTop/configure/RELEASE.local
- echo "EPICS_BASE=${EPICS_BASE}" >> ${TRAVIS_BUILD_DIR}/ecmcExampleTop/configure/RELEASE.local
- make

after_success:
- tree ${TRAVIS_BUILD_DIR}


60 changes: 37 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,38 @@
# Makefile at top of application tree
TOP = .
include $(TOP)/configure/CONFIG

# Extra stuff to show which version we run
build: generategitversion

generategitversion:
tools/gitversion.sh ecmcApp/src/gitversion.c


#Use either the Makefile for EPICS, or the one for
# ESS EPICS ENVIRONMENT

ifdef EPICS_ENV_PATH
ifeq ($(EPICS_MODULES_PATH),/opt/epics/modules)
ifeq ($(EPICS_BASES_PATH),/opt/epics/bases)
include Makefile.EEE
else
include Makefile.epics
endif
else
include Makefile.epics
endif
else
include Makefile.epics
endif
# Directories to build, any order
DIRS += configure
DIRS += $(wildcard *Sup)
DIRS += $(wildcard *Support)
DIRS += $(wildcard *App)
DIRS += $(wildcard *Top)
DIRS += $(wildcard iocBoot)

# The build order is controlled by these dependency rules:

# All dirs except configure depend on configure
$(foreach dir, $(filter-out configure, $(DIRS)), \
$(eval $(dir)_DEPEND_DIRS += configure))


# Any *App dirs depend on all *Sup dirs
$(foreach dir, $(filter %Sup, $(DIRS)), \
$(eval $(dir)_DEPEND_DIRS += $(filter %Support, $(DIRS))))


# Any *App dirs depend on all *Sup dirs
$(foreach dir, $(filter %App, $(DIRS)), \
$(eval $(dir)_DEPEND_DIRS += $(filter %Sup %Support, $(DIRS))))

# Any *Top dirs depend on all *Sup and *App dirs
$(foreach dir, $(filter %Top, $(DIRS)), \
$(eval $(dir)_DEPEND_DIRS += $(filter %Sup %App %Support, $(DIRS))))

# iocBoot depends on all *App dirs
iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS))

# Add any additional dependency rules here:

include $(TOP)/configure/RULES_TOP
58 changes: 0 additions & 58 deletions Makefile.EEE

This file was deleted.

Loading

0 comments on commit a199d17

Please sign in to comment.