diff options
Diffstat (limited to 'lib/snmp/test/Makefile')
-rw-r--r-- | lib/snmp/test/Makefile | 259 |
1 files changed, 259 insertions, 0 deletions
diff --git a/lib/snmp/test/Makefile b/lib/snmp/test/Makefile new file mode 100644 index 0000000000..86af2460f5 --- /dev/null +++ b/lib/snmp/test/Makefile @@ -0,0 +1,259 @@ +#-*-makefile-*- ; force emacs to enter makefile-mode + +# %CopyrightBegin% +# +# Copyright Ericsson AB 1997-2009. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# %CopyrightEnd% + +include $(ERL_TOP)/make/target.mk +include $(ERL_TOP)/make/$(TARGET)/otp.mk + + +# ---------------------------------------------------- +# Application version +# ---------------------------------------------------- +include ../vsn.mk + +VSN = $(SNMP_VSN) + + +# ---------------------------------------------------- +# Target Specs +# ---------------------------------------------------- + +include modules.mk + +SNMP_ROOT = .. +SNMP_SUITE = snmp_SUITE + +ERL_FILES = $(MODULES:%=%.erl) + +SNMP_TEST_DATA = snmp_test_data + +SNMP_MIB_DIR = $(SNMP_TEST_DATA) + +SNMP_BIN_TARGET_DIR = $(SNMP_TEST_DATA) + +MIB_SOURCE = $(MIB_FILES:%.mib=$(SNMP_MIB_DIR)/%.mib) + +MIB_TARGETS = \ + $(MIB_FILES:%.mib=$(SNMP_BIN_TARGET_DIR)/%.bin) \ + $(MIB_FILES:%.mib=$(SNMP_BIN_TARGET_DIR)/%.hrl) +ERL_TARGETS = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) + +TEST_SERVER_TARGETS = $(TEST_SERVER_MODULES:%=$(EBIN)/%.$(EMULATOR)) + +TARGET_FILES = $(ERL_TARGETS) + +SOURCE = $(ERL_FILES) $(HRL_FILES) + +# The script 'make_emakefile' only exist in R9 and later +# So, if it does not exist, then use the old method +# (compile the erl-files and install the beam-files) +EMAKEFILE = Emakefile +MAKE_EMAKE = $(wildcard $(ERL_TOP)/make/make_emakefile) + +ifeq ($(MAKE_EMAKE),) +BUILDTARGET = $(TARGET_FILES) +RELTEST_FILES = $(SPECS) $(SOURCE) $(TARGET_FILES) +else +BUILDTARGET = $(MIB_TARGETS) emakebuild +RELTEST_FILES = $(EMAKEFILE) $(SPECS) $(SOURCE) +endif + +COVER_SPEC_FILE = snmp.cover + + +# ---------------------------------------------------- +# Release directory specification +# ---------------------------------------------------- +RELSYSDIR = $(RELEASE_PATH)/snmp_test + + +# ---------------------------------------------------- +# SNMP FLAGS +# ---------------------------------------------------- +ifeq ($(SNMP_DEBUG),) + SNMP_DEBUG = d +endif + +ifeq ($(SNMP_DEBUG),e) + SNMP_FLAGS += -Dsnmp_error +endif +ifeq ($(SNMP_DEBUG),l) + SNMP_FLAGS += -Dsnmp_log +endif +ifeq ($(SNMP_DEBUG),d) + SNMP_FLAGS += -Dsnmp_debug +endif + +ifeq ($(DONT_USE_TS),true) + SNMP_FLAGS += -DDONT_USE_TEST_SERVER +endif + +SNMP_MIB_FLAGS += -pa ../ebin +version + +ifneq ($(MIBS_VERBOSITY),) + SNMP_MIB_FLAGS += +'{verbosity,$(MIBS_VERBOSITY)}' +endif + +ifeq ($(SNMP_DESC),true) + USE_DESCRIPTION = +'{description,true}' +endif + +GROUP_CHECK = +'{group_check,false}' + +SNMP_MIB_FLAGS += $(GROUP_CHECK) $(USE_DESCRIPTION) -I$(SNMP_BIN_TARGET_DIR) + +ifndef SUITE +SUITE = snmp_SUITE +endif + +ESTOP = -s init stop + +ifeq ($(DONT_STOP),true) +MAYBE_ESTOP = +else +MAYBE_ESTOP = $(ESTOP) +endif + +ifeq ($(MERL),) +MERL = erl +endif + +ARGS += -noshell + +ifeq ($(DISABLE_TC_TIMEOUT),true) +ARGS += -snmp_test_timeout +endif + + +# ---------------------------------------------------- +# FLAGS +# ---------------------------------------------------- +EBIN = . + +ERL_COMPILE_FLAGS += -I../src \ + -I$(ERL_TOP)/lib/test_server/include \ + -I../include \ + -Dsnmp_test_data=snmp_test_data \ + -Dversion=\"$(VSN)$(PRE_VSN)\" \ + +'{parse_transform,sys_pre_attributes}' \ + +'{attribute,insert,app_vsn,$(APP_VSN)}' \ + $(SNMP_FLAGS) + +ERL_SNMP_FLAGS = $(SNMP_MIB_FLAGS) \ + -I../priv/mibs + +$(SNMP_BIN_TARGET_DIR)/%.bin: $(SNMP_MIB_DIR)/%.mib + $(ERLC) $(ERL_SNMP_FLAGS) -o $(SNMP_MIB_DIR) $< + +$(SNMP_BIN_TARGET_DIR)/%.hrl: $(SNMP_BIN_TARGET_DIR)/%.bin + $(ERLC) $(ERL_SNMP_FLAGS) -o $(SNMP_BIN_TARGET_DIR) $< + + +# ---------------------------------------------------- +# Targets +# ---------------------------------------------------- + +tests debug opt: $(BUILDTARGET) + +.PHONY: emakebuild + +emakebuild: $(EMAKEFILE) + +targets: mib $(EMAKEFILE) + erl -make + +old_targets: $(TARGET_FILES) $(TEST_SERVER_TARGETS) + +$(EMAKEFILE): Makefile + $(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) '*_SUITE_make' > $(EMAKEFILE) + $(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) >> $(EMAKEFILE) + +clean: + rm -f $(EMAKEFILE) + rm -f $(TARGET_FILES) + rm -f core + +docs: + +appup: snmp_appup_mgr.$(EMULATOR) + +mib: $(MIB_TARGETS) + +make: old_targets + +test: make + $(MERL) $(ARGS) -sname snmp_test $(ERL_PATH) \ + -s snmp_test_server run $(SUITE) \ + $(MAYBE_ESTOP) + +agent: make + $(MERL) $(ARGS) -sname snmp_agent_test $(ERL_PATH) \ + -s snmp_test_server run snmp_agent_test \ + $(MAYBE_ESTOP) + +manager: make + $(MERL) $(ARGS) -sname snmp_manager_test $(ERL_PATH) \ + -s snmp_test_server run snmp_manager_test \ + $(MAYBE_ESTOP) + +appup: make + $(MERL) $(ARGS) -sname snmp_appup_test $(ERL_PATH) \ + -s snmp_test_server run snmp_appup_test \ + $(MAYBE_ESTOP) + + +# ---------------------------------------------------- +# Release Target +# ---------------------------------------------------- +include $(ERL_TOP)/make/otp_release_targets.mk + +release_spec: + +release_tests_spec: opt + $(INSTALL_DIR) $(RELSYSDIR) + $(INSTALL_DATA) $(RELTEST_FILES) $(COVER_SPEC_FILE) $(RELSYSDIR) + chmod -f -R u+w $(RELSYSDIR) + tar cf - snmp_test_data | (cd $(RELSYSDIR); tar xf -) + +release_docs_spec: + + +info: + @echo "SNMP_DEBUG = $(SNMP_DEBUG)" + @echo "SNMP_FLAGS = $(SNMP_FLAGS)" + @echo "" + @echo "SNMP_MIB_DIR = $(SNMP_MIB_DIR)" + @echo "MIB_SOURCE = $(MIB_SOURCE)" + @echo "MIB_TARGETS = $(MIB_TARGETS)" + @echo "SNMP_MIB_FLAGS = $(SNMP_MIB_FLAGS)" + @echo "" + @echo "ERL_COMPILE_FLAGS = $(ERL_COMPILE_FLAGS)" + @echo "" + @echo "RELSYSDIR = $(RELSYSDIR)" + @echo "" + @echo "SOURCE = $(SOURCE)" + @echo "" + @echo "TARGET_FILES = $(TARGET_FILES)" + @echo "" + @echo "EMAKEFILE = $(EMAKEFILE)" + @echo "MAKE_EMAKE = $(MAKE_EMAKE)" + @echo "BUILDTARGET = $(BUILDTARGET)" + @echo "RELTEST_FILES = $(RELTEST_FILES)" + @echo "" + + |