summaryrefslogtreecommitdiff
path: root/debian/rules
blob: e12fc7687ac2f2d73e3296f4c9d243c819372366 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/make -f

#export DH_VERBOSE=1

include /usr/share/dpkg/pkg-info.mk

export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
CHANGELOG_DATE ?= $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +"%d %B %Y")

DEBIAN_VERSION_SUFFIX = $(shell echo $(DEB_VERSION) | sed 's,.*\+\([0-9][0-9]*\).*,\1,')

OCTAVE_BPATH = usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)/octave/packages
OCTAVE_HOSTTYPE = $(shell octave-config -p CANONICAL_HOST_TYPE)
OCTAVE_API_VERSION = $(shell octave-config -p API_VERSION)
OCTAVE_FULLBPATH = $(OCTAVE_BPATH)/openEMS-$(DEB_VERSION_EPOCH_UPSTREAM)/$(OCTAVE_HOSTTYPE)-$(OCTAVE_API_VERSION)

FPARSER_VERSION=4.5.1
FPARSER_VERSION_FULL = $(FPARSER_VERSION)-$(DEBIAN_VERSION_SUFFIX)
SUBSTVARS = -Vfparser-version-full="$(FPARSER_VERSION_FULL)"

%:
	dh $@

override_dh_auto_configure:

override_dh_auto_build:

override_dh_auto_install:
	cd fparser && cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) . && make && make install DESTDIR=../debian/tmp
	cd CSXCAD && cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DFPARSER_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) . && make && make install DESTDIR=../debian/tmp
	cd QCSXCAD && cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DFPARSER_ROOT_DIR=../debian/tmp/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) . && make && make install DESTDIR=../debian/tmp
	cd openEMS && cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DFPARSER_ROOT_DIR=../debian/tmp/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .
	cd openEMS && make
	cd openEMS && make install DESTDIR=../debian/tmp
	cd AppCSXCAD && cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DFPARSER_ROOT_DIR=../debian/tmp/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DQCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .
	cd AppCSXCAD && make
	cd AppCSXCAD && make install DESTDIR=../debian/tmp
	cd debian/tmp/usr/share/openEMS/matlab && CXXFLAGS="-g -O2 -fstack-protector-strong -Wformat -Werror=format-security" mkoctfile -lhdf5_cpp -DH5_USE_16_API -I/usr/include/hdf5/serial h5readatt_octave.cc
	mkdir -p debian/tmp/$(OCTAVE_FULLBPATH)
	mv debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.oct debian/tmp/$(OCTAVE_FULLBPATH)/
	rm debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.o
	rm debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.cc
	chrpath -d debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so*
	chrpath -d debian/tmp/usr/bin/AppCSXCAD
	chrpath -d debian/tmp/usr/bin/nf2ff
	chrpath -d debian/tmp/usr/bin/openEMS


override_dh_installman:
	cd debian/man ; CHANGELOG_DATE="$(CHANGELOG_DATE)" ./genmanpages.sh
	dh_installman

override_dh_gencontrol:
	dh_gencontrol -- $(SUBSTVARS)
	dh_gencontrol -plibfparser4 -- -v$(FPARSER_VERSION_FULL) $(SUBSTVARS)
	dh_gencontrol -plibfparser-dev -- -v$(FPARSER_VERSION_FULL) $(SUBSTVARS)