FreeCAD/package/debian/rules
2011-10-10 13:44:52 +00:00

135 lines
5.1 KiB
Makefile
Executable File

#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
MODULES = Part Mesh MeshPart PartDesign Sketcher Points Raytracing Image Drawing ReverseEngineering Complete Fem Robot Import Inspection Arch
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
patch-stamp:
touch $@
configure: autogen.sh patch-stamp
dh_testdir
for autotools_mod_file in `find . -name Makefile.in` aclocal.m4 \
configure m4/libtool.m4 m4/ltmain.sh m4/ltoptions.m4 \
m4/ltversion.m4 m4/lt~obsolete.m4; do \
cp -a $$autotools_mod_file $$autotools_mod_file.setaside; \
done
chmod u+x autogen.sh
./autogen.sh
config.status: configure
dh_testdir
./configure --with-occ-include=/usr/include/opencascade \
--with-occ-lib=/usr/lib \
--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr/lib/freecad --mandir=/usr/share/man \
--infodir=/usr/share/info --datadir=/usr/share/freecad \
--includedir=/usr/include/freecad --docdir=/usr/share/doc/freecad \
CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
touch src/Build/Version.h
build: build-stamp
build-stamp: config.status
dh_testdir
$(MAKE)
touch $@
clean:
mv src/Build/Version.h src/Build/Version.h.old
dh clean
mv src/Build/Version.h.old src/Build/Version.h
rm -f build-stamp
find -name '*.pyc' | xargs rm -f
find -name 'moc_*.cpp' | xargs rm -f
find -name '*.lo' | xargs rm -f
find -name '*.deps' | xargs rm -rf
find -name '*.libs' | xargs rm -rf
rm -f stamp-h1 config.log libtool 71
if [ -e Makefile.in.setaside ]; then \
for autotools_mod_file in `find . -name Makefile.in` aclocal.m4 \
configure m4/libtool.m4 m4/ltmain.sh m4/ltoptions.m4 \
m4/ltversion.m4 m4/lt~obsolete.m4; do \
mv -f $$autotools_mod_file.setaside $$autotools_mod_file; \
done; fi
dh clean
rm -f patch-stamp
#quilt pop -a
#rm -rf .pc/
install: build install-stamp
install-stamp:
dh_testdir
dh_testroot
dh_prep
dh_installdirs
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp/freecad
# Remove testing modules we don't want to have in the deb
rm -rf debian/tmp/freecad/usr/lib/freecad/Mod/_TEMPLATE_
rm -rf debian/tmp/freecad/usr/lib/freecad/Mod/TemplatePyMod
# install the core system
dh_install -pfreecad debian/tmp/freecad/usr/share/freecad/* usr/share/freecad/
#dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/share usr/lib/freecad
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/bin usr/lib/freecad
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/lib/FreeCAD.so usr/lib/freecad/lib
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/lib/lib*.so.* usr/lib/freecad/lib
dh_install debian/freecad.desktop usr/share/applications
dh_installman debian/freecad.1
dh_installchangelogs ChangeLog.txt
# install the modules
$(foreach MODULE,$(MODULES), \
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/$(MODULE)*.so usr/lib/freecad/Mod/$(MODULE); \
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/lib*.so.* usr/lib/freecad/Mod/$(MODULE); \
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/*.py usr/lib/freecad/Mod/$(MODULE);)
# special treating of PartDesign module
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/PartDesign/Scripts/*.py usr/lib/freecad/Mod/PartDesign/Scripts;)
# special treating of Draft module
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Draft/*.py usr/lib/freecad/Mod/Draft
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Draft/draftlibs/*.py usr/lib/freecad/Mod/Draft/draftlibs
# special treating of Test module
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Test/lib*.so.* usr/lib/freecad/Mod/Test
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Test/*.py usr/lib/freecad/Mod/Test
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Test/QtUnitGui.so usr/lib/freecad/Mod/Test
dh_install -pfreecad-dev debian/tmp/freecad/usr/include/* usr/include
dh_install -pfreecad-dev debian/tmp/freecad/usr/lib/freecad/lib/lib*.so usr/lib/freecad/lib
$(foreach MODULE,$(MODULES), \
dh_install -pfreecad-dev debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/lib*.la usr/lib/freecad/Mod/$(MODULE); \
dh_install -pfreecad-dev debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/lib*.so usr/lib/freecad/Mod/$(MODULE);)
# special treating of Arch module
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Arch/*.py usr/lib/freecad/Mod/Arch
# install the help system
dh_install -pfreecad-doc debian/tmp/freecad/usr/share/doc/* usr/share/doc/
touch install-stamp
override_dh_compress:
dh_compress -X.qch -X.qhc
override_dh_makeshlibs:
binary-indep: build install
dh binary-indep
binary-arch: build install
dh binary-arch
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install