e16/debian/rules

136 lines
4.3 KiB
Makefile

#!/usr/bin/make -f
#export DH_VERBOSE=1
export DH_COMPAT=2
configure_options = --enable-fsstd=yes --prefix=/usr --bindir=/usr/X11R6/bin
programs = enlightenment enlightenment-nosound enlightenment-dox
docs = enlightenment-docs
themes = enlightenment-theme-ganymede enlightenment-theme-brushedmetal enlightenment-theme-shinymetal
pwd := $(shell pwd)
install_dir = $(pwd)/debian/$@
make_install_in_subdirs = set -ex; for i in $$subdirs; do $(MAKE) install DESTDIR=$(install_dir) SUBDIRS="" -C $$i; done
theme_dir = debian/$@/usr/share/enlightenment/themes
unpack_etheme = set -ex; /usr/bin/install -d -m 755 $(theme_dir)/$$etheme;tar zxf src/themes/$$etheme.etheme -C $(theme_dir)/$$etheme
remake_sound = $(MAKE) src/{sound.o,enlightenment} CFLAGS+=$$CFLAGS $$LFLAGS -C src
link_docs = dh_link usr/share/doc/enlightenment-docs usr/share/doc/$@
pre-install = @echo -e "\n--- $@"; set -ex; dh_testdir; dh_testroot; rm -rf debian/$@
build_deb = @set -ex; for i in fixperms installdeb gencontrol md5sums builddeb; do dh_$${i}; done
bin-list = $(shell for i in $(wildcard debian/$@/usr/X11R6/bin/*); do echo -n "$$(basename $$i).1x "; done)
$(programs): build
$(programs) $(docs) $(themes): dh-stamp
$(programs) $(docs) $(themes): SHELL = DH_OPTIONS=-p$@ /bin/sh -e
build: build-stamp
build-stamp:
dh_testdir
dh_testroot
./autogen.sh $(configure_options) || ./configure $(configure_options)
mv econfig.h econfig.h.old
sed -e 's@^#define HAVE_LIBESD 1$$@//* \0 */@' econfig.h.old > econfig.h
cp src/themes/configs/menus.cfg menus.cfg.old
$(MAKE)
touch $@
dh-stamp:
cd debian; $(SHELL) debhelper2.sh
touch $@
clean:
dh_testdir
dh_testroot
-$(MAKE) clean
dh_clean -A
-rm build-stamp
enlightenment-docs:
$(pre-install)
dh_installexamples sample-scripts/*.{pl,sh}
dh_installdocs src/{README,TODO,ChangeLog-pre0.16.gz}
dh_installchangelogs
cp src/ChangeLog debian/$@/usr/share/doc/$@/changelog
dh_compress
$(build_deb)
enlightenment:
$(pre-install)
-rm -rf src/sound.o src/enlighenment
$(MAKE) sound.o enlightenment -C src CFLAGS+="-DHAVE_LIBESD"
subdirs="eesh epp src src/themes/configs scripts"; $(make_install_in_subdirs)
dh_installwm enlightenment
dh_installmenu
dh_shlibdeps
dh_strip
dh_undocumented $(bin-list)
sed -f debian/menus.sedscr src/themes/configs/menus.cfg \
> debian/$@/usr/share/enlightenment/config/menus.cfg
dh_link etc/alternatives/enlightenment-theme-default debian/enlightenment/usr/share/enlightenment/themes/DEFAULT
$(link_docs)
$(build_deb)
enlightenment-nosound:
$(pre-install)
-rm -rf src/sound.o src/enlighenment
$(MAKE) sound.o enlightenment -C src ESD_LIBS=
subdirs="eesh epp src src/themes/configs scripts"; $(make_install_in_subdirs)
dh_installwm enlightenment
dh_installmenu
dh_shlibdeps
dh_strip
dh_undocumented $(bin-list)
sed -f debian/menus.sedscr src/themes/configs/menus.cfg \
> debian/$@/usr/share/enlightenment/config/menus.cfg
$(link_docs)
dh_link etc/alternatives/enlightenment-theme-default debian/enlightenment/usr/share/enlightenment/themes/DEFAULT
$(build_deb)
enlightenment-dox:
$(pre-install)
subdirs="dox dox/E-docs"; $(make_install_in_subdirs)
dh_shlibdeps
dh_strip
dh_undocumented dox.1x
$(link_docs)
$(build_deb)
enlightenment-theme-ganymede:
$(pre-install)
etheme="Ganymede"; $(unpack_etheme)
$(link_docs)
$(build_deb)
enlightenment-theme-brushedmetal:
$(pre-install)
etheme="BrushedMetal-Tigert"; $(unpack_etheme)
cd $(theme_dir); rm -rf BrushedMetal && mv BrushedMetal-Tigert BrushedMetal
find $(theme_dir) -name '*~' -type f | xargs rm -rf
$(link_docs)
$(build_deb)
enlightenment-theme-shinymetal:
$(pre-install)
etheme="ShinyMetal"; $(unpack_etheme)
find $(theme_dir) -name '*~' -type f | xargs rm -rf
find $(theme_dir) -name .cvsignore -type f | xargs rm -rf
find $(theme_dir) -name CVS -type d | xargs rm -rf
$(link_docs)
$(build_deb)
commit: squash
cvs commit
squash:
set -e; cd debian; files=$$(find -maxdepth 1 -type f -name enlightenment\*); \
echo -e "#!/bin/sh\n\n# debhelper2.sh - creates e\'s debhelper support files\n\n" > debhelper2.sh; \
(for i in $$files; do echo "cat > \"$$i\" <<- \"END\""; cat $$i; echo -e "END\n\n"; done) >> debhelper2.sh
binary-arch: build $(programs)
binary-indep: $(docs) $(themes)
binary: build $(docs) $(programs) $(themes)
.PHONY: clean binary-indep binary-arch binary package-% $(docs) $(themes) $(programs)