11767c5feSopenharmony_ci#!/usr/bin/make -f
21767c5feSopenharmony_ci# -*- makefile -*-
31767c5feSopenharmony_ci
41767c5feSopenharmony_ci# Copyright (C) 2011 The Libphonenumber Authors
51767c5feSopenharmony_ci#
61767c5feSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
71767c5feSopenharmony_ci# you may not use this file except in compliance with the License.
81767c5feSopenharmony_ci# You may obtain a copy of the License at
91767c5feSopenharmony_ci#
101767c5feSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
111767c5feSopenharmony_ci#
121767c5feSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
131767c5feSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
141767c5feSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
151767c5feSopenharmony_ci# See the License for the specific language governing permissions and
161767c5feSopenharmony_ci# limitations under the License.
171767c5feSopenharmony_ci
181767c5feSopenharmony_ci# Uncomment this to turn on verbose mode.
191767c5feSopenharmony_ci#export DH_VERBOSE=1
201767c5feSopenharmony_ci
211767c5feSopenharmony_ciinclude /usr/share/cdbs/1/rules/debhelper.mk
221767c5feSopenharmony_ciinclude /usr/share/cdbs/1/class/maven.mk
231767c5feSopenharmony_ci
241767c5feSopenharmony_ciJAVA_HOME := /usr/lib/jvm/default-java
251767c5feSopenharmony_ciDEB_MAVEN_DOC_TARGET := javadoc:jar javadoc:aggregate
261767c5feSopenharmony_ci
271767c5feSopenharmony_ciCMAKE ?= cmake
281767c5feSopenharmony_ci
291767c5feSopenharmony_ciCMAKE_FLAGS := -DCMAKE_INSTALL_PREFIX=/usr
301767c5feSopenharmony_ciCPP_BUILD := cpp/build
311767c5feSopenharmony_ciJAVA_BUILD := java/build
321767c5feSopenharmony_ci
331767c5feSopenharmony_ci# CMake doesn't read CPPFLAGS and dh_auto commands are not used in this rules
341767c5feSopenharmony_ci# file so we have to manually set the flags here to ensure that hardening flags
351767c5feSopenharmony_ci# are used:
361767c5feSopenharmony_ciCFLAGS += $(CPPFLAGS)
371767c5feSopenharmony_ciCXXFLAGS += $(CPPFLAGS)
381767c5feSopenharmony_ci
391767c5feSopenharmony_ciifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
401767c5feSopenharmony_ci  CFLAGS += -O0
411767c5feSopenharmony_cielse
421767c5feSopenharmony_ci  CFLAGS += -O2
431767c5feSopenharmony_ciendif
441767c5feSopenharmony_ciifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS)))
451767c5feSopenharmony_ci  INSTALL_PROGRAM += -s
461767c5feSopenharmony_ciendif
471767c5feSopenharmony_ciifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
481767c5feSopenharmony_ci  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
491767c5feSopenharmony_ci  MAKEFLAGS += -j$(NUMJOBS)
501767c5feSopenharmony_ciendif
511767c5feSopenharmony_ci
521767c5feSopenharmony_ci#%:
531767c5feSopenharmony_ci#	dh $@ --with javahelper
541767c5feSopenharmony_ci
551767c5feSopenharmony_ci#override_dh_auto_configure:
561767c5feSopenharmony_ciconfigure/libphonenumber7::
571767c5feSopenharmony_ci	mkdir -p $(CPP_BUILD) && cd $(CPP_BUILD) && $(CMAKE) $(CMAKE_FLAGS) ..
581767c5feSopenharmony_ci
591767c5feSopenharmony_ci#override_dh_auto_build:
601767c5feSopenharmony_ci#	( cd tools/java && $(MVN) package )
611767c5feSopenharmony_ci#	mkdir java/lib
621767c5feSopenharmony_ci#	ln -s /usr/share/java/junit4.jar java/lib/junit-4.8.1.jar
631767c5feSopenharmony_ci#	$(ANT) -f $(JAVA_BUILD).xml jar
641767c5feSopenharmony_cibuild/libphonenumber7::
651767c5feSopenharmony_ci	ln -sf cpp-build-1.0-SNAPSHOT.jar tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar
661767c5feSopenharmony_ci	ln -sf /usr/share/java/protobuf.jar tools/java/cpp-build/target/protobuf-java-debian.jar
671767c5feSopenharmony_ci	$(MAKE) -C $(CPP_BUILD) phonenumber phonenumber-shared
681767c5feSopenharmony_ci
691767c5feSopenharmony_ci#override_dh_auto_test:
701767c5feSopenharmony_ci#ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
711767c5feSopenharmony_ci#	$(MAKE) -C $(CPP_BUILD) test
721767c5feSopenharmony_ci#	$(ANT) -f $(JAVA_BUILD).xml junit
731767c5feSopenharmony_ci#endif
741767c5feSopenharmony_ci
751767c5feSopenharmony_ci# Hack for multiarch: CMake doesn't really support libdir so we just manually
761767c5feSopenharmony_ci# move /usr/lib/* to a proper multiarch location.
771767c5feSopenharmony_ci#override_dh_auto_install:
781767c5feSopenharmony_cicommon-install-arch::
791767c5feSopenharmony_ci	dh_auto_install --builddirectory=$(CPP_BUILD)
801767c5feSopenharmony_ci	mkdir -p debian/tmp/usr/lib-$(DEB_HOST_MULTIARCH)
811767c5feSopenharmony_ci	mv debian/tmp/usr/lib/* debian/tmp/usr/lib-$(DEB_HOST_MULTIARCH)
821767c5feSopenharmony_ci	mv debian/tmp/usr/lib-$(DEB_HOST_MULTIARCH) \
831767c5feSopenharmony_ci		debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
841767c5feSopenharmony_ci
851767c5feSopenharmony_ci#override_dh_auto_clean:
861767c5feSopenharmony_ciclean::
871767c5feSopenharmony_ci	-test -d $(CPP_BUILD) && $(MAKE) -C $(CPP_BUILD) clean
881767c5feSopenharmony_ci	#-$(ANT) -f $(JAVA_BUILD).xml clean
891767c5feSopenharmony_ci	#-( cd tools/java && $(MVN) clean )
90