vfirewall usecase for arm64
[demo.git] / vnfs / VES5.0 / evel / evel-library / bldjobs / Makefile
index d37d0e4..fe06f81 100644 (file)
 #****************************************************************************/
 
 ARCH=$(shell getconf LONG_BIT)
+MACHINE_ARCH=$(shell uname -m)
 CODE_ROOT=$(CURDIR)/..
 EVELLIB_ROOT=$(CODE_ROOT)/code/evel_library
 EVELUNIT_ROOT=$(CODE_ROOT)/code/evel_unit
-LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH)
-OUTPUT_DIR=$(CODE_ROOT)/output/x86_$(ARCH)
+EVELTRAINING_ROOT=$(CODE_ROOT)/code
+LIBS_DIR=$(CODE_ROOT)/libs/$(MACHINE_ARCH)
+OUTPUT_DIR=$(CODE_ROOT)/output/$(MACHINE_ARCH)
 DOCS_ROOT=$(CODE_ROOT)/docs
 CC=gcc
 SCP=scp
@@ -44,8 +46,13 @@ PLANTFLAGS=-tsvg
 # Standard compiler flags.                                                    *
 #******************************************************************************
 CPPFLAGS=-I $(EVELLIB_ROOT)
-CFLAGS=-Wall -Wextra -m$(ARCH) -g -fPIC
-LIBCFLAGS=-Wall -Wextra -m$(ARCH) -g -shared -fPIC
+ifeq ($(MACHINE_ARCH), aarch64)
+       CFLAGS=-Wall -Wextra -march=native -g -fPIC
+       LIBCFLAGS=-Wall -Wextra -march=native -g -shared -fPIC
+else
+       CFLAGS=-Wall -Wextra -m$(ARCH) -g -fPIC
+       LIBCFLAGS=-Wall -Wextra -m$(ARCH) -g -shared -fPIC
+endif
 
 #******************************************************************************
 # The testbed is a VM instance where we can install the EVEL example under    *
@@ -80,7 +87,7 @@ 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                                      *
+# https://www.gnu.org/software/make/manual/html_node/Automatic-Prerequisites.html *
 #******************************************************************************
 %.d: %.c
        @echo Making dependency file $(notdir $@) for $(notdir $<)
@@ -104,9 +111,11 @@ DOCS_SERVER_PATH=/var/www/html/evel
        $(JAVA) -jar $(PLANTUML) $(PLANTFLAGS) $<
 
 all:     api_library \
+         vnf_reporting
 
 clean:   api_library_clean \
-         evel_unit_clean \
+         vnf_reporting_clean \
+         evel_unit_clean
 
 install: evel_install_centos evel_install_ubuntu
 
@@ -143,6 +152,7 @@ API_SOURCES=$(EVELLIB_ROOT)/evel.c \
             $(EVELLIB_ROOT)/evel_threshold_cross.c \
             $(EVELLIB_ROOT)/evel_voicequality.c \
             $(EVELLIB_ROOT)/evel_logging.c \
+            $(EVELLIB_ROOT)/evel_batch.c \
             $(EVELLIB_ROOT)/jsmn.c
 API_OBJECTS=$(API_SOURCES:.c=.o)
 -include $(API_SOURCES:.c=.d)
@@ -191,6 +201,17 @@ evel_unit_clean:
        @$(RM) $(EVELLIB_ROOT)/*.d
        @$(RM) $(EVELUNIT_ROOT)/*.d
 
+#******************************************************************************
+# Build the VNF VES Reporting code                                            *
+#******************************************************************************
+vnf_reporting:
+       @echo   Making VNF Reporting
+       @$(MAKE) -s -C $(EVELTRAINING_ROOT)/VESreporting
+
+vnf_reporting_clean:
+       @echo   Cleaning VNF Reporting
+       @$(RM) $(EVELTRAINING_ROOT)/VESreporting/vpp_measurement_reporter
+
 #******************************************************************************
 # Copy the EVEL demo onto the CentOS testbed as a package and build it.       *
 #******************************************************************************
@@ -238,7 +259,7 @@ 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 \
+           $(TESTBED_CENTOS_INSTALL_PATH)/output/$(MACHINE_ARCH)/evel_demo \
                                                  --fqdn $(VNF_COLLECTOR_HOST) \
                                                  --port $(VNF_COLLECTOR_PORT) \
                                                  --verbose
@@ -252,7 +273,7 @@ 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 \
+           $(TESTBED_UBUNTU_INSTALL_PATH)/output/$(MACHINE_ARCH)/evel_demo \
                                                  --fqdn $(VNF_COLLECTOR_HOST) \
                                                  --port $(VNF_COLLECTOR_PORT) \
                                                  --verbose
@@ -277,8 +298,8 @@ package: api_library_clean \
        @cd $(CODE_ROOT) && tar cfz output/evel-library-package.tgz  bldjobs \
                                                       code \
                                                       docs \
-                                                      libs/x86_64/README \
-                                                      output/x86_64/README \
+                                                      libs/$(MACHINE_ARCH)/README \
+                                                      output/$(MACHINE_ARCH)/README \
                                                       readme.md
 
 package_clean: