Skip to content

Commit a905067

Browse files
committed
move executable out into top-level iocs folder
1 parent d848c48 commit a905067

49 files changed

Lines changed: 150 additions & 68 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,20 @@ TOP = .
33
include $(TOP)/configure/CONFIG
44
DIRS += configure luaApp
55
luaApp_DEPEND_DIRS = configure
6+
7+
ifeq ($(BUILD_IOCS), YES)
8+
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard iocs))
9+
iocs_DEPEND_DIRS += luaApp
10+
endif
11+
612
include $(TOP)/configure/RULES_TOP
13+
14+
uninstall: uninstall_iocs
15+
uninstall_iocs:
16+
$(MAKE) -C iocs uninstall
17+
.PHONY: uninstall uninstall_iocs
18+
19+
realuninstall: realuninstall_iocs
20+
realuninstall_iocs:
21+
$(MAKE) -C iocs realuninstall
22+
.PHONY: realuninstall realuninstall_iocs

configure/CONFIG_SITE

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
# CONFIG_SITE.Common.$(T_A)
99
# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
1010

11+
# Build IOC applications.
12+
# Set to YES in configure/CONFIG_SITE.local to build the IOC.
13+
BUILD_IOCS = NO
14+
1115
# Module name for cfg-based build dependencies.
1216
MODULE = LUA
1317

iocs/Makefile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
TOP = ..
2+
include $(TOP)/configure/CONFIG
3+
DIRS := $(wildcard ioc*)
4+
include $(TOP)/configure/RULES_TOP
5+
6+
uninstallTargets = $(foreach dir, $(DIRS), $(dir)$(DIVIDER)uninstall)
7+
uninstall: $(uninstallTargets)
8+
define UNINSTALL_template
9+
$(1)$(DIVIDER)uninstall:
10+
$(MAKE) -C $(1) uninstall
11+
endef
12+
$(foreach dir, $(DIRS), $(eval $(call UNINSTALL_template,$(dir))))
13+
.PHONY: uninstall $(uninstallTargets)
14+
15+
realuninstallTargets = $(foreach dir, $(DIRS), $(dir)$(DIVIDER)realuninstall)
16+
realuninstall: $(realuninstallTargets)
17+
define REALUNINSTALL_template
18+
$(1)$(DIVIDER)realuninstall:
19+
$(MAKE) -C $(1) realuninstall
20+
endef
21+
$(foreach dir, $(DIRS), $(eval $(call REALUNINSTALL_template,$(dir))))
22+
.PHONY: realuninstall $(realuninstallTargets)

iocs/iocLuaExample/Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
TOP = .
2+
include $(TOP)/configure/CONFIG
3+
DIRS := $(DIRS) $(filter-out $(DIRS), configure)
4+
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *App))
5+
6+
define DIR_template
7+
$(1)_DEPEND_DIRS += configure
8+
endef
9+
$(foreach dir, $(filter-out configure,$(DIRS)),$(eval $(call DIR_template,$(dir))))
10+
11+
include $(TOP)/configure/RULES_TOP
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# CONFIG - Load build configuration data
2+
#
3+
# Do not make changes to this file!
4+
5+
# Allow user to override where the build rules come from
6+
RULES = $(EPICS_BASE)
7+
8+
# RELEASE files point to other application tops
9+
include $(TOP)/configure/RELEASE
10+
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common
11+
ifdef T_A
12+
-include $(TOP)/configure/RELEASE.Common.$(T_A)
13+
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
14+
endif
15+
16+
CONFIG = $(RULES)/configure
17+
include $(CONFIG)/CONFIG
18+
19+
# Override the Base definition:
20+
INSTALL_LOCATION = $(TOP)
21+
22+
# CONFIG_SITE files contain other build configuration settings
23+
include $(TOP)/configure/CONFIG_SITE
24+
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
25+
ifdef T_A
26+
-include $(TOP)/configure/CONFIG_SITE.Common.$(T_A)
27+
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
28+
endif
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# CONFIG_SITE
2+
3+
CHECK_RELEASE = WARN
4+
5+
# These allow developers to override the CONFIG_SITE variable
6+
# settings without having to modify the configure/CONFIG_SITE
7+
# file itself.
8+
-include $(TOP)/../../../configure/CONFIG_SITE.local
9+
-include $(TOP)/../../configure/CONFIG_SITE.local
10+
-include $(TOP)/configure/CONFIG_SITE.local
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
TOP=..
2+
3+
include $(TOP)/configure/CONFIG
4+
5+
TARGETS = $(CONFIG_TARGETS)
6+
CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
7+
8+
include $(TOP)/configure/RULES
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# RELEASE - Location of external support modules
2+
3+
LUA = $(TOP)/../..
4+
5+
# Pull in EPICS_BASE and other paths from the parent module.
6+
# Use hardcoded $(TOP)/../.. paths instead of $(LUA) because
7+
# the parent's RELEASE file may redefine LUA to a different path.
8+
-include $(TOP)/../../configure/RELEASE
9+
-include $(TOP)/../../configure/RELEASE.local
10+
11+
# These lines allow developers to override these RELEASE settings
12+
# without having to modify this file directly.
13+
-include $(TOP)/configure/RELEASE.local

iocs/iocLuaExample/configure/RULES

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#RULES
2+
include $(CONFIG)/RULES
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#RULES.ioc
2+
include $(CONFIG)/RULES.ioc

0 commit comments

Comments
 (0)