#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 include /usr/share/dpkg/pkg-info.mk ## "bindnow" causes run-time errors: #export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow export DEB_CPPFLAGS_MAINT_APPEND= -Wno-error=deprecated-declarations -Wno-error=maybe-uninitialized -Wno-error=c++20-compat -Wno-error=overloaded-virtual= # -Wno-error=deprecated-copy -Wno-error=format-overflow= # -std=c++11 ## Under fakeroot ccache fails because ## CCACHE_TEMPDIR=="/run/user/0/ccache-tmp" fails due to lack of permission. export CCACHE_TEMPDIR:=/tmp/ccache-tmp export ANTLR_JAR_PATH=/usr/share/java/antlr4.jar MAX_PARALLEL=--max-parallel=3 %: dh $@ $(MAX_PARALLEL) --with python3 override_dh_clean: $(RM) -rv CMakeFiles ext/antlr-runtime/.libs dh_clean override_dh_auto_configure: dh_auto_configure -- \ -DUSE_UNIXODBC=ON \ -DUNIXODBC_LIBRARIES="-lodbc" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DWITH_ANTLR_JAR=${ANTLR_JAR_PATH} \ -DANTLR4_INCLUDE_DIRS="/usr/include/antlr4-runtime" \ -DREAL_EXECUTABLE_DIR=/usr/lib/$(DEB_SOURCE) \ -DOpenGL_GL_PREFERENCE=GLVND \ ; override_dh_auto_build: # rebuild files generated by flex/bison cd library/sql.parser/yy_gen-tool/yy_gen-tool/ \ && bison -dl parser.yy \ && flex -B -oparser.lex.cc parser.lex cd library/parsers/grammars \ && antlr4 -Dlanguage=Cpp -listener -visitor -o ../mysql -package parsers MySQLLexer.g4 MySQLParser.g4 # generate documentation for mysql-workbench-docs package #cd doc && ./DoxygenRun.sh # build all the rest dh_auto_build $(MAX_PARALLEL) override_dh_auto_install: dh_auto_install $(MAX_PARALLEL) --destdir=$(CURDIR)/debian/tmp # .desktop to unix line endings sed -i 's/\r//g' debian/tmp/usr/share/applications/*.desktop # remove *.la files find . -name '*.la' -delete -printf 'removing %p\n' # install link to launcher to /usr/bin/ dh_link -p$(DEB_SOURCE) \ usr/lib/$(DEB_SOURCE)/mysql-workbench usr/bin/mysql-workbench override_dh_python3: dh_python3 --no-ext-rename override_dh_compress: dh_compress --exclude=.mwb override_dh_makeshlibs: dh_makeshlibs --noscripts # help `dh_shlibdeps` to find local libraries: 'dpkg-shlibdeps: error: couldn't find library' override_dh_shlibdeps: dh_shlibdeps -l /usr/lib/$(DEB_SOURCE):/usr/lib/$(DEB_SOURCE)/plugins:$(LD_LIBRARY_PATH) ## semi-automated manpage generation (to invoke manually) MAN_NAME=mysql-workbench \\- MySQL Database Design, Administration and Development Tool mysql-workbench.1: help2man --no-info --manual="mysql-workbench" --name="$(MAN_NAME)" mysql-workbench > $@ perl \ -E 's{^.*?\s+\\-\s+mysql-workbench.*}{$(MAN_NAME)}; # correcting NAME section' \ -E 's{^\.SH DESCRIPTION}{.SH SYNOPSIS}; # correcting SYNOPSIS section' \ -E 's{^mysql\\-workbench\K\\-bin}{}; # correcting executable name' \ -E 's{^Options:}{.SH OPTIONS}; # create OPTIONS section' \ -pi $@