Support different build targets for different repos

Change-Id: I3680396edcd30fd6ca5f190ee817309894bfa8de
diff --git a/vars/buildVolthaComponent.groovy b/vars/buildVolthaComponent.groovy
index c0e4163..29c9b9c 100644
--- a/vars/buildVolthaComponent.groovy
+++ b/vars/buildVolthaComponent.groovy
@@ -1,12 +1,28 @@
 def call(String project) {
   // project is the gerrit project name
 
-  if (project != 'voltha-system-tests' &&
-    project != 'voltha-helm-charts' &&
-    project != '') {
+  // these are project that are not required to be built
+  def ignoredProjects = [
+    '', // this is the case for a manual trigger on master, nothing to be built
+    'voltha-system-tests',
+    'voltha-helm-charts'
+  ]
+
+  // some projects have different make targets
+  def Map customMakeTargets = [
+    "voltctl": "release"
+  ]
+
+  def defaultMakeTarget = "docker-build"
+
+  if (!ignoredProjects.contains(project)) {
+
+    def makeTarget = customMakeTargets.get(project, defaultMakeTarget)
+
+    println "Building ${project} with make target ${makeTarget}."
 
     sh """
-    make -C $WORKSPACE/${project} DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest docker-build
+    make -C $WORKSPACE/${project} DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest ${makeTarget}
     """
   } else {
     println "The project ${project} does not require to be built."