1#-*-makefile-*- ; force emacs to enter makefile-mode 2 3# %CopyrightBegin% 4# 5# Copyright Ericsson AB 1997-2016. All Rights Reserved. 6# 7# Licensed under the Apache License, Version 2.0 (the "License"); 8# you may not use this file except in compliance with the License. 9# You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, software 14# distributed under the License is distributed on an "AS IS" BASIS, 15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16# See the License for the specific language governing permissions and 17# limitations under the License. 18# 19# %CopyrightEnd% 20 21include $(ERL_TOP)/make/target.mk 22include $(ERL_TOP)/make/$(TARGET)/otp.mk 23 24 25# ---------------------------------------------------- 26# Application version 27# ---------------------------------------------------- 28include ../../vsn.mk 29 30VSN = $(SNMP_VSN) 31 32 33# ---------------------------------------------------- 34# Configured variables 35# ---------------------------------------------------- 36 37 38# ---------------------------------------------------- 39# Target Specs 40# ---------------------------------------------------- 41 42include modules.mk 43 44ERL_TARGETS = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) 45 46SYS_CONFIG_SRCS = $(SYS_CONFIG_FILES:%=%.src) 47AGENT_CONFIG_SRCS = $(AGENT_CONFIG_FILES:%=%.src) 48MANAGER_CONFIG_SRCS = $(MANAGER_CONFIG_FILES:%=%.src) 49 50CONFIG_FILES = \ 51 $(SYS_CONFIG_FILES) \ 52 $(AGENT_CONFIG_FILES) \ 53 $(MANAGER_CONFIG_FILES) 54 55TARGETS = \ 56 $(ERL_TARGETS) \ 57 $(CONFIG_FILES) 58 59 60# ---------------------------------------------------- 61# Release directory specification 62# ---------------------------------------------------- 63ifeq ($(TESTROOT),) 64TESTROOT=/tmp 65endif 66RELSYSDIR = $(TESTROOT) 67 68 69# ---------------------------------------------------- 70# FLAGS AND VARIABLES 71# ---------------------------------------------------- 72 73EBIN = . 74 75ERL_COMPILE_FLAGS += +'{parse_transform,sys_pre_attributes}' \ 76 +'{attribute,insert,app_vsn,$(APP_VSN)}' 77 78ifeq ($(ADDR),) 79ADDR = $(shell erl -noshell -s snmp_test_config ip_address -s init stop) 80endif 81 82ifeq ($(TARGET_NAME_PRE),) 83TARGET_NAME_PRE = $(shell erl -noshell -s snmp_test_config ip_address2 -s init stop) 84endif 85 86ifeq ($(SYS_CONTACT),) 87SYS_CONTACT = foo@bar.ericsson.se 88endif 89 90ifeq ($(SYS_LOCATION),) 91SYS_LOCATION = Erlang/OTP 92endif 93 94ifeq ($(SYS_NAME),) 95SYS_NAME = FOO 96endif 97 98ifeq ($(AGENT_ENGINE_ID),) 99AGENT_ENGINE_ID = Agent engine of $(USER) 100endif 101 102ifeq ($(AGENT_USM_ENGINE_ID),) 103AGENT_USM_ENGINE_ID = $(AGENT_ENGINE_ID) 104endif 105 106ifeq ($(MANAGER_ENGINE_ID),) 107MANAGER_ENGINE_ID = Manager engine of $(USER) 108endif 109 110ifeq ($(MANAGER_USM_ENGINE_ID),) 111MANAGER_USM_ENGINE_ID = $(MANAGER_ENGINE_ID) 112endif 113 114 115 116# ---------------------------------------------------- 117# Targets 118# ---------------------------------------------------- 119 120tests debug opt: $(TARGETS) 121 122clean: 123 rm -f $(CONFIG_FILES) 124 rm -f $(ERL_TARGETS) 125 rm -f core 126 127docs: 128 129%.config: %.config.src 130 @echo "$< -> $@" 131 $(PERL) -p -e 's?%DIR%?$(RELSYSDIR)? ' < $< > $@ 132 133agent/%.conf: agent/%.conf.src 134 @echo "$< -> $@" 135 sed -e 's?%ADDR%?$(ADDR)? ' \ 136 -e 's?%SYS_CONTACT%?$(SYS_CONTACT)? ' \ 137 -e 's?%SYS_LOCATION%?$(SYS_LOCATION)? ' \ 138 -e 's?%SYS_NAME%?$(SYS_NAME)? ' \ 139 -e 's?%TARGET_NAME_PRE%?$(TARGET_NAME_PRE)? ' \ 140 -e 's?%ENGINE_ID%?\"$(AGENT_ENGINE_ID)\"? ' \ 141 -e 's?%USM_ENGINE_ID%?\"$(AGENT_USM_ENGINE_ID)\"? ' < $< > $@ 142 143manager/%.conf: manager/%.conf.src 144 @echo "$< -> $@" 145 sed -e 's?%ADDR%?$(ADDR)? ' \ 146 -e 's?%ENGINE_ID%?\"$(MANAGER_ENGINE_ID)\"? ' \ 147 -e 's?%USM_ENGINE_ID%?\"$(MANAGER_USM_ENGINE_ID)\"? ' < $< > $@ 148 149 150# ---------------------------------------------------- 151# Release Target 152# ---------------------------------------------------- 153include $(ERL_TOP)/make/otp_release_targets.mk 154 155release_spec: 156 157release_tests_spec: clean opt 158 $(INSTALL_DIR) $(RELSYSDIR) 159 chmod -R u+w $(RELSYSDIR) 160 $(INSTALL_DIR) $(RELSYSDIR)/agent 161 chmod -R u+w $(RELSYSDIR)/agent 162 $(INSTALL_DIR) $(RELSYSDIR)/agent/conf 163 chmod -R u+w $(RELSYSDIR)/agent/conf 164 $(INSTALL_DIR) $(RELSYSDIR)/agent/db 165 chmod -R u+w $(RELSYSDIR)/agent/db 166 $(INSTALL_DIR) $(RELSYSDIR)/agent/log 167 chmod -R u+w $(RELSYSDIR)/agent/log 168 $(INSTALL_DIR) $(RELSYSDIR)/manager 169 chmod -R u+w $(RELSYSDIR)/manager 170 $(INSTALL_DIR) $(RELSYSDIR)/manager/conf 171 chmod -R u+w $(RELSYSDIR)/manager/conf 172 $(INSTALL_DIR) $(RELSYSDIR)/manager/db 173 chmod -R u+w $(RELSYSDIR)/manager/db 174 $(INSTALL_DIR) $(RELSYSDIR)/manager/log 175 chmod -R u+w $(RELSYSDIR)/manager/log 176 $(INSTALL_DATA) $(SYS_CONFIG_FILES) $(RELSYSDIR) 177 $(INSTALL_DATA) $(AGENT_CONFIG_FILES) $(RELSYSDIR)/agent/conf 178 $(INSTALL_DATA) $(MANAGER_CONFIG_FILES) $(RELSYSDIR)/manager/conf 179 180release_docs_spec: 181 182 183info: 184 @echo "" 185 @echo "RELSYSDIR = $(RELSYSDIR)" 186 @echo "" 187 @echo "SYS_CONFIG_SRCS = $(SYS_CONFIG_SRCS)" 188 @echo "SYS_CONFIG_FILES = $(SYS_CONFIG_FILES)" 189 @echo "" 190 @echo "AGENT_CONFIG_SRCS = $(AGENT_CONFIG_SRCS)" 191 @echo "AGENT_CONFIG_FILES = $(AGENT_CONFIG_FILES)" 192 @echo "" 193 @echo "MANAGER_CONFIG_SRCS = $(MANAGER_CONFIG_SRCS)" 194 @echo "MANAGER_CONFIG_FILES = $(MANAGER_CONFIG_FILES)" 195 @echo "" 196 @echo "ADDR = $(ADDR)" 197 @echo "TARGET_NAME_PRE = $(TARGET_NAME_PRE)" 198 @echo "" 199 200 201