# BEGIN of variables to customize
#
SHELL = /bin/bash
+
+include config.mk
+
+export BUILD_BASE = $(shell pwd)
+export DEB_DEST := $(BUILD_BASE)/release/packages/ubuntu/pool/main
+export PUPPET_DEST := $(BUILD_BASE)/release/puppet/modules
+
ISOSRC = file:$(shell pwd)/fuel-6.0.1.iso
ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC))
-PRODUCT_NAME = "OPNFV_BGS"
-VERSION = "P0000"
-NEWISO = $(shell pwd)/release/opnfv-${VERSION}.iso
+PRODNO = "OPNFV_BGS"
+REVSTATE = "P0000"
+NEWISO = $(shell pwd)/release/opnfv-${REVSTATE}.iso
DOCKERIMG = opnfv.org/ubuntu-builder:14.04
-# Note! Invoke with "make VERSION=RXXXX iso" to make release build!
+# Note! Invoke with "make REVSTATE=RXXXX iso" to make release build!
# Invoke with ICOCACHE=/full/path/to/iso if cached ISO is in non-standard location.
#
# END of variables to customize
#############################################################################
-TOPDIR := $(shell pwd)
+export TOPDIR := $(shell pwd)
ORIGDIR := $(TOPDIR)/origiso
SUBDIRS := f_isoroot
SUBDIRS += f_l23network
SUBDIRS += f_resolvconf
SUBDIRS += f_ntp
+SUBDIRS += f_gif
+SUBDIRS += f_libnss
+SUBDIRS += f_libpcs
+SUBDIRS += f_libxt
+SUBDIRS += f_comm_java
+SUBDIRS += f_ca_cert
+SUBDIRS += f_atk_wrap
+SUBDIRS += f_jre_head
+SUBDIRS += f_jre
+SUBDIRS += f_java
+SUBDIRS += f_odl
+
+
# f_example is only an example of how to generate a .deb package and
# should not be enabled in official builds.
$(ISOCACHE):
# Clone Fuel to non-persistent location and build
- cd /tmp && git clone https://github.com/stackforge/fuel-main
- cd /tmp/fuel-main && git checkout stable/6.0
+ cd /tmp && git clone $(FUEL_MAIN_REPO)
+ cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG)
# Setup cgroups for docker-in-docker
sudo /root/enable_dockerx2
# Patch to fix race condition when doing "Docker-in-Docker" build
.PHONY: patch-packages
patch-packages:
- ORIGISO=$(ISOCACHE) VERSION=$(VERSION) $(MAKE) -C $@ -f Makefile release
+ ORIGISO=$(ISOCACHE) REVSTATE=$(REVSTATE) $(MAKE) -C $@ -f Makefile release
+
+.PHONY: prepare
+prepare:
+ $(MAKE) -C opendaylight -f Makefile setup
+
+.PHONY: odl
+odl:
+ $(MAKE) -C opendaylight -f Makefile
+
+.PHONY: build-clean $(SUBCLEAN)
+build-clean: $(SUBCLEAN)
+ $(MAKE) -C patch-packages -f Makefile clean
+ @rm -Rf release
+ @rm -Rf newiso
+ @rm -f $(NEWISO)
.PHONY: clean $(SUBCLEAN)
-clean: $(SUBCLEAN)
+clean: prepare $(SUBCLEAN)
$(MAKE) -C patch-packages -f Makefile clean
+ $(MAKE) -C opendaylight -f Makefile clean
+ @rm -f *.iso
@rm -Rf release
@rm -Rf newiso
+ @rm -f f_odl
@rm -f $(NEWISO)
$(SUBCLEAN): %.clean:
# Todo: Make things smarter - we shouldn't need to clean everything
# betwen make invocations.
.PHONY: iso
-iso: clean $(ISOCACHE) $(SUBDIRS) patch-packages
- install/install.sh iso $(ISOCACHE) $(NEWISO) $(PRODUCT_NAME) $(VERSION)
+iso: prepare build-clean odl $(ISOCACHE) $(SUBDIRS) patch-packages
+ install/install.sh iso $(ISOCACHE) $(NEWISO) $(PRODNO) $(REVSTATE)
@printf "\n\nProduct ISO is $(NEWISO)\n\n"