diff options
Diffstat (limited to 'VES5.0/evel/evel-library/bldjobs/Makefile')
-rw-r--r-- | VES5.0/evel/evel-library/bldjobs/Makefile | 384 |
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) |