| #!/usr/bin/make -f |
| # -*- makefile -*- |
| |
| # Copyright (C) 2011 The Libphonenumber Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # Uncomment this to turn on verbose mode. |
| #export DH_VERBOSE=1 |
| |
| include /usr/share/cdbs/1/rules/debhelper.mk |
| include /usr/share/cdbs/1/class/maven.mk |
| |
| JAVA_HOME := /usr/lib/jvm/default-java |
| DEB_MAVEN_DOC_TARGET := javadoc:jar javadoc:aggregate |
| |
| CMAKE ?= cmake |
| |
| CMAKE_FLAGS := -DCMAKE_INSTALL_PREFIX=/usr |
| CPP_BUILD := cpp/build |
| JAVA_BUILD := java/build |
| |
| # CMake doesn't read CPPFLAGS and dh_auto commands are not used in this rules |
| # file so we have to manually set the flags here to ensure that hardening flags |
| # are used: |
| CFLAGS += $(CPPFLAGS) |
| CXXFLAGS += $(CPPFLAGS) |
| |
| ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) |
| CFLAGS += -O0 |
| else |
| CFLAGS += -O2 |
| endif |
| ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) |
| INSTALL_PROGRAM += -s |
| endif |
| ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) |
| NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) |
| MAKEFLAGS += -j$(NUMJOBS) |
| endif |
| |
| #%: |
| # dh $@ --with javahelper |
| |
| #override_dh_auto_configure: |
| configure/libphonenumber7:: |
| mkdir -p $(CPP_BUILD) && cd $(CPP_BUILD) && $(CMAKE) $(CMAKE_FLAGS) .. |
| |
| #override_dh_auto_build: |
| # ( cd tools/java && $(MVN) package ) |
| # mkdir java/lib |
| # ln -s /usr/share/java/junit4.jar java/lib/junit-4.8.1.jar |
| # $(ANT) -f $(JAVA_BUILD).xml jar |
| build/libphonenumber7:: |
| ln -sf cpp-build-1.0-SNAPSHOT.jar tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar |
| ln -sf /usr/share/java/protobuf.jar tools/java/cpp-build/target/protobuf-java-debian.jar |
| $(MAKE) -C $(CPP_BUILD) phonenumber phonenumber-shared |
| |
| #override_dh_auto_test: |
| #ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) |
| # $(MAKE) -C $(CPP_BUILD) test |
| # $(ANT) -f $(JAVA_BUILD).xml junit |
| #endif |
| |
| # Hack for multiarch: CMake doesn't really support libdir so we just manually |
| # move /usr/lib/* to a proper multiarch location. |
| #override_dh_auto_install: |
| common-install-arch:: |
| dh_auto_install --builddirectory=$(CPP_BUILD) |
| mkdir -p debian/tmp/usr/lib-$(DEB_HOST_MULTIARCH) |
| mv debian/tmp/usr/lib/* debian/tmp/usr/lib-$(DEB_HOST_MULTIARCH) |
| mv debian/tmp/usr/lib-$(DEB_HOST_MULTIARCH) \ |
| debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) |
| |
| #override_dh_auto_clean: |
| clean:: |
| -test -d $(CPP_BUILD) && $(MAKE) -C $(CPP_BUILD) clean |
| #-$(ANT) -f $(JAVA_BUILD).xml clean |
| #-( cd tools/java && $(MVN) clean ) |