aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/test/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lib/snmp/test/Makefile')
-rw-r--r--lib/snmp/test/Makefile259
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 ""
+
+