aboutsummaryrefslogtreecommitdiffstats
path: root/VES5.0/evel/evel-library/bldjobs/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'VES5.0/evel/evel-library/bldjobs/Makefile')
-rw-r--r--VES5.0/evel/evel-library/bldjobs/Makefile384
1 files changed, 0 insertions, 384 deletions
diff --git a/VES5.0/evel/evel-library/bldjobs/Makefile b/VES5.0/evel/evel-library/bldjobs/Makefile
deleted file mode 100644
index ea30acca..00000000
--- a/VES5.0/evel/evel-library/bldjobs/Makefile
+++ /dev/null
@@ -1,384 +0,0 @@
-#******************************************************************************
-# The ECOMP Vendor Event Listener (EVEL) API client library Makefile.
-#
-# Make the various targets associated with housekeeping functions as part of
-# Event Reporting library.
-#
-# NOTE: because Makefiles assign special meaning to the TAB character you
-# will need to set tabstops to 2 characters for the layout to look OK.
-#
-# License
-# -------
-#
-# Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement: This product includes
-# software developed by the AT&T.
-# 4. Neither the name of AT&T nor the names of its contributors may be used to
-# endorse or promote products derived from this software without specific
-# prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#******************************************************************************
-
-ARCH=$(shell getconf LONG_BIT)
-CODE_ROOT=$(CURDIR)/..
-EVELLIB_ROOT=$(CODE_ROOT)/code/evel_library
-EVELDEMO_ROOT=$(CODE_ROOT)/code/evel_demo
-EVELUNIT_ROOT=$(CODE_ROOT)/code/evel_unit
-EVELTRAINING_ROOT=$(CODE_ROOT)/code/evel_training
-LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH)
-OUTPUT_DIR=$(CODE_ROOT)/output/x86_$(ARCH)
-DOCS_ROOT=$(CODE_ROOT)/docs
-CC=gcc
-SCP=scp
-SSH=ssh
-JAVA=java
-DOXYGEN=doxygen
-PLANTUML=/usr/local/bin/plantuml.jar
-PLANTFLAGS=-tsvg
-
-#******************************************************************************
-# Standard compiler flags. *
-#******************************************************************************
-CPPFLAGS=-I $(EVELLIB_ROOT)
-CFLAGS=-Wall -Wextra -m$(ARCH) -g -fPIC
-LIBCFLAGS=-Wall -Wextra -m$(ARCH) -g -shared -fPIC
-
-#******************************************************************************
-# The testbed is a VM instance where we can install the EVEL example under *
-# CentOS. *
-#******************************************************************************
-VNF_TESTBED_CENTOS=172.18.152.180
-VNF_TESTBED_CENTOS_USER=centos
-TESTBED_CENTOS_DOWNLOAD_PATH=/home/centos/download/evel_lib
-TESTBED_CENTOS_INSTALL_PATH=/home/centos/evel
-
-#******************************************************************************
-# The testbed is a VM instance where we can install the EVEL example under *
-# Ubuntu. *
-#******************************************************************************
-VNF_TESTBED_UBUNTU=172.18.152.179
-VNF_TESTBED_UBUNTU_USER=ubuntu
-TESTBED_UBUNTU_DOWNLOAD_PATH=/home/ubuntu/Downloads/evel_lib
-TESTBED_UBUNTU_INSTALL_PATH=/home/ubuntu/evel
-
-#******************************************************************************
-# The test-collector is where we can send events to be consumed and checked *
-# during tests. *
-#******************************************************************************
-VNF_COLLECTOR_HOST=172.18.152.185
-VNF_COLLECTOR_PORT=30000
-
-#******************************************************************************
-# A documentation server used by the team where we can install documentation. *
-#******************************************************************************
-TEAM_DOCS_SERVER=covlx8
-DOCS_SERVER_PATH=/var/www/html/evel
-
-#******************************************************************************
-# Implicit rule to make dependency files. Recipe copied from Gnu docs at: *
-# https://www.gnu.org/software/make/manual/html_node/Automatic-Prerequisites.html *
-#******************************************************************************
-%.d: %.c
- @echo Making dependency file $(notdir $@) for $(notdir $<)
- @set -e; rm -f $@; \
- $(CC) -MM -MT $(<:.c=.o) $(CPPFLAGS) $< > $@.$$$$; \
- sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
- rm -f $@.$$$$
-
-#******************************************************************************
-# Implicit rule to make object files. *
-#******************************************************************************
-%.o: %.c
- @echo Making $(notdir $@) from $(notdir $<)
- @$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
-
-#******************************************************************************
-# Implicit rule to make diagram files using PlantUML. *
-#******************************************************************************
-%.svg : %.plantuml
- @echo Making $(notdir $@)
- $(JAVA) -jar $(PLANTUML) $(PLANTFLAGS) $<
-
-all: api_library \
- evel_library_demo \
- evel_library_training
-
-clean: api_library_clean \
- evel_unit_clean \
- evel_library_demo_clean \
- evel_library_training_clean \
- docs_clean
-
-install: evel_install_centos evel_install_ubuntu
-
-test: evel_test_centos evel_test_ubuntu
-
-docs: docs_clean doxygen_docs
-
-
-#******************************************************************************
-# Build the EVEL libraries. *
-#******************************************************************************
-API_SOURCES=$(EVELLIB_ROOT)/evel.c \
- $(EVELLIB_ROOT)/metadata.c \
- $(EVELLIB_ROOT)/ring_buffer.c \
- $(EVELLIB_ROOT)/double_list.c \
- $(EVELLIB_ROOT)/hashtable.c \
- $(EVELLIB_ROOT)/evel_event.c \
- $(EVELLIB_ROOT)/evel_fault.c \
- $(EVELLIB_ROOT)/evel_mobile_flow.c \
- $(EVELLIB_ROOT)/evel_option.c \
- $(EVELLIB_ROOT)/evel_jsonobject.c \
- $(EVELLIB_ROOT)/evel_other.c \
- $(EVELLIB_ROOT)/evel_json_buffer.c \
- $(EVELLIB_ROOT)/evel_reporting_measurement.c \
- $(EVELLIB_ROOT)/evel_heartbeat_fields.c \
- $(EVELLIB_ROOT)/evel_sipsignaling.c \
- $(EVELLIB_ROOT)/evel_scaling_measurement.c \
- $(EVELLIB_ROOT)/evel_state_change.c \
- $(EVELLIB_ROOT)/evel_strings.c \
- $(EVELLIB_ROOT)/evel_syslog.c \
- $(EVELLIB_ROOT)/evel_throttle.c \
- $(EVELLIB_ROOT)/evel_internal_event.c \
- $(EVELLIB_ROOT)/evel_event_mgr.c \
- $(EVELLIB_ROOT)/evel_voicequality.c \
- $(EVELLIB_ROOT)/evel_logging.c \
- $(EVELLIB_ROOT)/jsmn.c
-API_OBJECTS=$(API_SOURCES:.c=.o)
--include $(API_SOURCES:.c=.d)
-
-api_library: $(LIBS_DIR)/libevel.so \
- $(LIBS_DIR)/libevel.a
-
-$(LIBS_DIR)/libevel.a: $(API_OBJECTS)
- @echo Linking API Static Library
- @$(CC) $(LIBCFLAGS) -o $@ $+
-
-$(LIBS_DIR)/libevel.so: $(API_OBJECTS)
- @echo Linking API Shared Library
- @$(CC) $(LIBCFLAGS) -L $(QLIBCLIBSDIR) -lqlibc -o $@ $+
-
-api_library_clean:
- @echo Cleaning API Library
- @$(RM) $(LIBS_DIR)/libevel.so
- @$(RM) $(API_OBJECTS)
- @$(RM) $(EVELLIB_ROOT)/*.d
-
-#******************************************************************************
-# Build the EVEL library demo. *
-#******************************************************************************
-DEMO_SOURCES=$(EVELDEMO_ROOT)/evel_demo.c $(EVELDEMO_ROOT)/evel_test_control.c
-DEMO_OBJECTS=$(DEMO_SOURCES:.c=.o)
--include $(DEMO_SOURCES:.c=.d)
-
-evel_library_demo: api_library \
- $(OUTPUT_DIR)/evel_demo
-
-$(OUTPUT_DIR)/evel_demo: $(DEMO_OBJECTS)
- @echo Linking EVEL demo
- @$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ \
- -L $(LIBS_DIR) \
- $(DEMO_OBJECTS) \
- -level \
- -lpthread \
- -lcurl
-
-evel_library_demo_clean:
- @echo Cleaning EVEL demo
- @$(RM) $(OUTPUT_DIR)/evel_demo
- @$(RM) $(API_OBJECTS)
- @$(RM) $(DEMO_OBJECTS)
- @$(RM) $(EVELLIB_ROOT)/*.d
- @$(RM) $(EVELDEMO_ROOT)/*.d
-
-#******************************************************************************
-# Build the EVEL library unit test. *
-#******************************************************************************
-UNIT_SOURCES=$(EVELUNIT_ROOT)/evel_unit.c
-UNIT_OBJECTS=$(UNIT_SOURCES:.c=.o)
--include $(UNIT_SOURCES:.c=.d)
-
-evel_unit: api_library \
- $(OUTPUT_DIR)/evel_unit
-
-$(OUTPUT_DIR)/evel_unit: $(UNIT_OBJECTS)
- @echo Linking EVEL unit test
- $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ \
- -L $(LIBS_DIR) \
- $(UNIT_OBJECTS) \
- -level \
- -lpthread \
- -lcurl
-
-evel_unit_clean:
- @echo Cleaning EVEL unit test
- @$(RM) $(OUTPUT_DIR)/evel_unit
- @$(RM) $(API_OBJECTS)
- @$(RM) $(UNIT_OBJECTS)
- @$(RM) $(EVELLIB_ROOT)/*.d
- @$(RM) $(EVELUNIT_ROOT)/*.d
-
-#******************************************************************************
-# Build the EVEL library training files. *
-#******************************************************************************
-evel_library_training:
- @echo Making EVEL training
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/01-hello-world
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/02-library-link
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/03-include-header
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/04-basic-lifecycle
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/05-raise-event
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/06-username-password
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/07-raise-measurement
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/08-raise-mobile-flow
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/09-raise-state-change
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/10-raise-syslog
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/11-raise-other
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/12-suppress-fault-fields
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/13-suppress-fault-pairs
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/14-measurement-interval
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/15-raise-signaling
- @$(MAKE) -s -C $(EVELTRAINING_ROOT)/16-raise-service
-
-evel_library_training_clean:
- @echo Cleaning EVEL training
- @$(RM) $(EVELTRAINING_ROOT)/*/hello_evel_world
-
-#******************************************************************************
-# Copy the EVEL demo onto the CentOS testbed as a package and build it. *
-#******************************************************************************
-evel_install_centos: delivery
- @echo Installing EVEL library on CentOS testbed...
- @$(SSH) $(VNF_TESTBED_CENTOS_USER)@$(VNF_TESTBED_CENTOS) \
- rm -rf $(TESTBED_CENTOS_DOWNLOAD_PATH) \; \
- mkdir -p $(TESTBED_CENTOS_DOWNLOAD_PATH) \; \
- mkdir -p $(TESTBED_CENTOS_INSTALL_PATH)
- @$(SCP) -r $(CODE_ROOT)/output/evel-library-package.tgz \
- $(VNF_TESTBED_CENTOS_USER)@$(VNF_TESTBED_CENTOS):$(TESTBED_CENTOS_DOWNLOAD_PATH)
- @$(SSH) $(VNF_TESTBED_CENTOS_USER)@$(VNF_TESTBED_CENTOS) \
- tar zx --directory $(TESTBED_CENTOS_INSTALL_PATH) \
- --file $(TESTBED_CENTOS_DOWNLOAD_PATH)/evel-library-package.tgz
- @echo Making EVEL library on testbed...
- @$(SSH) $(VNF_TESTBED_CENTOS_USER)@$(VNF_TESTBED_CENTOS) \
- cd $(TESTBED_CENTOS_INSTALL_PATH)/bldjobs \; \
- make clean all
-
-#******************************************************************************
-# Copy the EVEL demo onto the Ubuntu testbed as a package and build it. *
-#******************************************************************************
-evel_install_ubuntu: delivery
- @echo Installing EVEL library on Ubuntu testbed...
- @$(SSH) $(VNF_TESTBED_UBUNTU_USER)@$(VNF_TESTBED_UBUNTU) \
- rm -rf $(TESTBED_UBUNTU_DOWNLOAD_PATH) \; \
- mkdir -p $(TESTBED_UBUNTU_DOWNLOAD_PATH) \; \
- mkdir -p $(TESTBED_UBUNTU_INSTALL_PATH)
- @$(SCP) -r $(CODE_ROOT)/output/evel-library-package.tgz \
- $(VNF_TESTBED_UBUNTU_USER)@$(VNF_TESTBED_UBUNTU):$(TESTBED_UBUNTU_DOWNLOAD_PATH)
- @$(SSH) $(VNF_TESTBED_UBUNTU_USER)@$(VNF_TESTBED_UBUNTU) \
- tar zx --directory $(TESTBED_UBUNTU_INSTALL_PATH) \
- --file $(TESTBED_UBUNTU_DOWNLOAD_PATH)/evel-library-package.tgz
- @echo Making EVEL library on testbed...
- @$(SSH) $(VNF_TESTBED_UBUNTU_USER)@$(VNF_TESTBED_UBUNTU) \
- cd $(TESTBED_UBUNTU_INSTALL_PATH)/bldjobs \; \
- make clean all
-
-#******************************************************************************
-# Make sure that the Centos platform is up to date and then run the software *
-# against a test collector. Validating correct operation is not presently *
-# automated. *
-#******************************************************************************
-evel_test_centos: evel_install_centos
- @echo Testing EVEL Demo application on CentOS...
- @$(SSH) $(VNF_TESTBED_CENTOS_USER)@$(VNF_TESTBED_CENTOS) \
- source .bash_profile \; \
- $(TESTBED_CENTOS_INSTALL_PATH)/output/x86_$(ARCH)/evel_demo \
- --fqdn $(VNF_COLLECTOR_HOST) \
- --port $(VNF_COLLECTOR_PORT) \
- --verbose
-
-#******************************************************************************
-# Make sure that the Ubuntu platform is up to date and then run the software *
-# against a test collector. Validating correct operation is not presently *
-# automated. *
-#******************************************************************************
-evel_test_ubuntu: evel_install_ubuntu
- @echo Testing EVEL Demo application on Ubuntu...
- @$(SSH) $(VNF_TESTBED_UBUNTU_USER)@$(VNF_TESTBED_UBUNTU) \
- source .profile \; \
- $(TESTBED_UBUNTU_INSTALL_PATH)/output/x86_$(ARCH)/evel_demo \
- --fqdn $(VNF_COLLECTOR_HOST) \
- --port $(VNF_COLLECTOR_PORT) \
- --verbose
-
-#******************************************************************************
-# Making a clean delivery has some very specific dependencies which are order *
-# dependent, so we recursively make a series of targets to do a clean build *
-# of all of the required deliverables and then finally zipping up. *
-#******************************************************************************
-delivery:
- @$(MAKE) -s delivery_baseline
- @$(MAKE) -s package
-
-delivery_baseline: docs
-
-#******************************************************************************
-# Package the software for delivery. *
-#******************************************************************************
-package: api_library_clean \
- evel_unit_clean \
- evel_library_demo_clean \
- evel_library_training_clean \
- docs
- @echo Packaging the software for delivery
- @cd $(CODE_ROOT) && tar cfz output/evel-library-package.tgz bldjobs \
- code \
- docs \
- libs/x86_64/README \
- output/x86_64/README \
- readme.md
-
-package_clean:
- @echo Clean delivery packages
- @$(RM) $(OUTPUTDIR)/*.tgz
-
-#******************************************************************************
-# Create project documentation. *
-#******************************************************************************
-doxygen_docs:
- @echo Making Doxygen documentation
- @$(DOXYGEN) Doxyfile
-
-pdf_docs: doxygen_docs # This target is slightly broken. Run manually.
- @echo Making PDF...
- @$(MAKE) -C $(DOCS_ROOT)/source/evel/latex
-
-docs_clean:
- @echo Cleaning docs...
- @$(RM) $(DOCS_ROOT)/*.svg
- @$(RM) -r $(DOCS_ROOT)/source/evel/html \
- $(DOCS_ROOT)/source/evel/latex
-
-docs_install: docs
- @echo Copying docs to team web-server...
- @$(SCP) -r $(DOCS_ROOT)/source/evel/html/* \
- root@$(TEAM_DOCS_SERVER):$(DOCS_SERVER_PATH)