1VER_MAJOR=3 2VER_MINOR=1 3VER_RELEASE=7 4VERSION=$(VER_MAJOR).$(VER_MINOR).$(VER_RELEASE) 5BUILD_DIR_RELEASE=.build_release 6BUILD_DIR_DEBUG=.build_debug 7BUNDLE_NAME=sviewgl 8OUT_NAME=sviewgl 9 10PREFIX?=/usr/local 11 12UNAME=$(shell uname -s) 13ifeq ($(UNAME), Darwin) 14 BUNDLE_NAME=sviewgl.app 15 OUT_NAME="Simple Viewer GL.app" 16endif 17 18all: release 19 20help: 21 @echo "Usage:" 22 @echo " make <release | debug> - make release or debug application" 23 @echo " make install - install application" 24 @echo " make <cppcheck> - do static code verification" 25 @echo " make <dist> - make tar.gz source package" 26 @echo " make <deb> - make DEB package" 27 @echo " make <rpm> - make RPM package" 28 @echo " make <clean> - cleanup directory" 29 30release: 31 $(shell if [ ! -d $(BUILD_DIR_RELEASE) ]; then mkdir $(BUILD_DIR_RELEASE); fi) 32 cd $(BUILD_DIR_RELEASE) ; cmake -DCMAKE_BUILD_TYPE=Release -DAPP_VERSION_MAJOR:STRING=$(VER_MAJOR) -DAPP_VERSION_MINOR:STRING=$(VER_MINOR) -DAPP_VERSION_RELEASE:STRING=$(VER_RELEASE) .. ; make ; cd .. 33 rm -fr $(OUT_NAME) && cp -r $(BUILD_DIR_RELEASE)/$(BUNDLE_NAME) $(OUT_NAME) 34 35debug: 36 $(shell if [ ! -d $(BUILD_DIR_DEBUG) ]; then mkdir $(BUILD_DIR_DEBUG); fi) 37 cd $(BUILD_DIR_DEBUG) ; cmake -DCMAKE_BUILD_TYPE=Debug -DAPP_VERSION_MAJOR:STRING=$(VER_MAJOR) -DAPP_VERSION_MINOR:STRING=$(VER_MINOR) -DAPP_VERSION_RELEASE:STRING=$(VER_RELEASE) .. ; make ; cd .. 38 rm -fr $(OUT_NAME) && cp -r $(BUILD_DIR_DEBUG)/$(BUNDLE_NAME) $(OUT_NAME) 39 40cppcheck: 41 cppcheck \ 42 -DEXIF_SUPPORT=1 -DLCMS2_SUPPORT=1 -DJPEG2000_SUPPORT=1 -DGIF_SUPPORT=1 \ 43 -DTIFF_SUPPORT=1 -DWEBP_SUPPORT=1 -DOPENEXR_SUPPORT=1 -DIMLIB2_SUPPORT=1 \ 44 -j 1 --std=c++11 --enable=all -f -I src src/ 2> cppcheck-output 45 46clean: 47 rm -fr $(BUILD_DIR_RELEASE) $(BUILD_DIR_DEBUG) $(OUT_NAME) $(BUNDLE_NAME) cppcheck-output $(BUNDLE_NAME)-$(VERSION)* $(BUNDLE_NAME)_$(VERSION)* *.log *.tasks *.sh *.xz *.list *.deb strace_out cov-int 48 49install: 50 install -m 755 -d $(DESTDIR)$(PREFIX)/bin 51 install -m 755 $(BUNDLE_NAME) $(DESTDIR)$(PREFIX)/bin 52 53dist: clean 54 install -d $(BUNDLE_NAME)-$(VERSION) 55 cp -R cmake src res dist/debian INSTALL README.md CMakeLists.txt Makefile sviewgl.desktop res/Icon-1024.png dist/fedora/* dist/gentoo/* $(BUNDLE_NAME)-$(VERSION) 56 mv $(BUNDLE_NAME)-$(VERSION)/simpleviewer-gl-_VERSION_.ebuild $(BUNDLE_NAME)-$(VERSION)/simpleviewer-gl-$(VERSION).ebuild 57 sed "s/_VERSION_/$(VERSION)/" -i $(BUNDLE_NAME)-$(VERSION)/$(BUNDLE_NAME).spec 58 sed "s/_VERSION_/$(VERSION)/" -i $(BUNDLE_NAME)-$(VERSION)/debian/changelog 59 tar -zf $(BUNDLE_NAME)-$(VERSION).tar.gz -c $(BUNDLE_NAME)-$(VERSION) 60 61deb: dist 62 mv $(BUNDLE_NAME)-$(VERSION).tar.gz $(BUNDLE_NAME)_$(VERSION).orig.tar.gz 63 cd $(BUNDLE_NAME)-$(VERSION) ; PREFIX=/usr dpkg-buildpackage -F -tc 64 65rpm: dist 66 rpmbuild -ta $(BUNDLE_NAME)-$(VERSION).tar.gz 67