Skip to content
Snippets Groups Projects
Makefile 3.99 KiB
Newer Older
  • Learn to ignore specific revisions
  • all: build-src build-man build-applications
    
    build-man:
    	@${MAKE} -C man
    
    
    build-applications:
    	@${MAKE} -C share/applications
    
    
    test: all
    
    	@if ! uname -m | fgrep -q -e arm -e mips; then \
    
    		PACKAGE=${PACKAGE} prove test/feh.t test/mandoc.t; \
    	else \
    		PACKAGE=${PACKAGE} prove test/feh.t test/mandoc.t || cat test/imlib2-bug-notice; \
    	fi
    
    	test/run-interactive
    
    	prove test/feh-bg-i.t
    
    install: install-man install-doc install-bin install-font install-img
    
    install: install-icon install-examples install-applications
    
    ifeq (${cam},1)
    install: install-cam
    uninstall: uninstall-cam
    endif
    
    install-cam:
    	@echo installing fe-cam and gen-cam-menu
    	@cp man/feh-cam.1 man/gen-cam-menu.1 ${man_dir}/man1
    	@chmod 644 ${man_dir}/man1/feh-cam.1 ${man_dir}/man1/gen-cam-menu.1
    	@cp cam/feh-cam cam/gen-cam-menu ${bin_dir}
    	@chmod 755 ${bin_dir}/feh-cam ${bin_dir}/gen-cam-menu
    
    uninstall-cam:
    	rm -f ${man_dir}/man1/feh-cam.1
    	rm -f ${man_dir}/man1/gen-cam-menu.1
    	rm -f ${bin_dir}/feh-cam ${bin_dir}/gen-cam-menu
    
    
    	@echo installing manuals to ${man_dir}
    	@mkdir -p ${man_dir}/man1
    
    	@cp man/feh.1 ${man_dir}/man1
    	@chmod 644 ${man_dir}/man1/feh.1
    
    	@cp AUTHORS ChangeLog README.md TODO ${doc_dir}
    	@chmod 644 ${doc_dir}/AUTHORS ${doc_dir}/ChangeLog ${doc_dir}/README.md \
    
    	@echo installing executables to ${bin_dir}
    	@mkdir -p ${bin_dir}
    
    	@cp src/feh ${bin_dir}/feh.tmp
    	@mv ${bin_dir}/feh.tmp ${bin_dir}/feh
    
    	@chmod 755 ${bin_dir}/feh
    
    	@echo installing fonts to ${font_dir}
    	@mkdir -p ${font_dir}
    
    	@cp share/fonts/* ${font_dir}
    
    	@echo installing images to ${image_dir}
    	@mkdir -p ${image_dir}
    
    	@cp share/images/* ${image_dir}
    
    install-icon:
    	@echo installing icon to ${48_icon_dir}
    	@mkdir -p ${48_icon_dir}
    	@cp share/images/feh.png ${48_icon_dir}
    
    	@echo installing icon to ${scalable_icon_dir}
    	@mkdir -p ${scalable_icon_dir}
    	@cp share/images/feh.svg ${scalable_icon_dir}
    
    	@chmod 644 ${scalable_icon_dir}/feh.svg
    
    	@if test "${app}" = 1 && which gtk-update-icon-cache > /dev/null 2>&1; then \
    
    		gtk-update-icon-cache ${icon_dir}; \
    	fi
    
    install-examples:
    	@echo installing examples to ${example_dir}
    	@mkdir -p ${example_dir}
    
    	@cp examples/* ${example_dir}
    
    install-applications:
    	@echo installing desktop file to ${desktop_dir}
    	@mkdir -p ${desktop_dir}
    	@cp share/applications/feh.desktop ${desktop_dir}
    	@chmod 644 ${desktop_dir}/feh.desktop
    
    
    	rm -f ${man_dir}/man1/feh.1
    
    	rm -f ${bin_dir}/feh
    
    	rm -f ${desktop_dir}/feh.desktop
    
    	@if test -e ${48_icon_dir}/feh.png; then \
    		echo rm -f ${48_icon_dir}/feh.png; \
    		rm -f ${48_icon_dir}/feh.png; \
    	fi
    	@if test -e ${scalable_icon_dir}/feh.svg; then \
    		echo rm -f ${scalable_icon_dir}/feh.svg; \
    		rm -f ${scalable_icon_dir}/feh.svg; \
    	fi
    	@if which gtk-update-icon-cache > /dev/null 2>&1; then \
    		gtk-update-icon-cache ${icon_dir}; \
    	fi
    
    Birte Kristina Friesel's avatar
    Birte Kristina Friesel committed
    dist:
    	mkdir /tmp/feh-${VERSION}
    	git --work-tree=/tmp/feh-${VERSION} checkout -f
    
    	cp src/deps.mk /tmp/feh-${VERSION}/src/deps.mk
    
    Birte Kristina Friesel's avatar
    Birte Kristina Friesel committed
    	sed -i 's/^VERSION ?= .*$$/VERSION ?= ${VERSION}/' \
    		/tmp/feh-${VERSION}/config.mk
    
    	sed -i 's/^MAN_DATE ?= .*$$/MAN_DATE ?= ${MAN_DATE}/' \
    		/tmp/feh-${VERSION}/config.mk
    
    Birte Kristina Friesel's avatar
    Birte Kristina Friesel committed
    	tar -C /tmp -cjf ../feh-${VERSION}.tar.bz2 feh-${VERSION}
    	rm -r /tmp/feh-${VERSION}
    
    
    disttest: dist
    	tar -C /tmp -xjf ../feh-${VERSION}.tar.bz2
    	make -C /tmp/feh-${VERSION}
    	make -C /tmp/feh-${VERSION} test
    	make -C /tmp/feh-${VERSION} install DESTDIR=./install
    	make -C /tmp/feh-${VERSION} uninstall DESTDIR=./install
    	rm -r /tmp/feh-${VERSION}
    
    
    	@${MAKE} -C man clean
    
    	@${MAKE} -C share/applications clean
    
    .PHONY: all test test-x11 install uninstall clean install-man install-doc \
    
    	install-bin install-font install-img install-examples \
    	install-applications dist