depend on libpng16-16
[vncterm.git] / Makefile
1 PACKAGE=vncterm
2 # Note: also change version in debian/control and debian/changelog
3 VERSION=1.4
4 PACKAGERELEASE=1
5 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
6 CDATE:=$(shell date +%F)
7
8 VNCVER=0.9.11
9 VNCREL=LibVNCServer-${VNCVER}
10 VNCDIR=libvncserver-${VNCREL}
11 VNCSRC=${VNCREL}.tar.gz
12 VNCLIB=${VNCDIR}/libvncserver/.libs/libvncserver.a
13
14 TIGERVNCSRC=tigervnc-1.1.0.tgz
15 #TIGERVNCSRC=tigervnc-1.2.0.tgz
16
17 DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_${ARCH}.deb
18 SNAP=${PACKAGE}-${VERSION}-${CDATE}.tar.gz
19
20 KEYSTORE=/home/dietmar/pve2-proxdev/proxmox-dev/comodo-for-java.keystore
21
22 all: vncterm
23
24 glyphs.h: genfont
25         ./genfont > glyphs.h.tmp
26         mv glyphs.h.tmp glyphs.h
27
28 genfont: genfont.c
29         gcc -g -O2 -o $@ genfont.c -Wall -D_GNU_SOURCE -lz
30
31 .PHONY: vnc
32 ${VNCLIB} vnc: ${VNCSRC}
33         rm -rf ${VNCDIR}
34         tar xf ${VNCSRC}
35         ln -s ../vncpatches ${VNCDIR}/patches
36         cd ${VNCDIR}; quilt push -a
37         cd ${VNCDIR}; ./autogen.sh --without-ssl --without-websockets --without-tightvnc-filetransfer;
38         cd ${VNCDIR}; make
39
40 vncterm: vncterm.c glyphs.h ${VNCLIB}
41         gcc -O2 -g -o $@ vncterm.c -Wall -Wno-deprecated-declarations -D_GNU_SOURCE -I ${VNCDIR} ${VNCLIB} -lnsl -lpthread -lz -ljpeg -lutil -lgnutls -lpng
42
43 jar: tigervnc.org
44         if test ! -f /usr/share/icedtea-web/plugin.jar; then echo "please install package icedtea-netx-common"; exit 1; fi
45         rm -rf tigervnc VncViewer.jar
46         rsync -av --exclude .svn --exclude .svnignore  tigervnc.org/ tigervnc
47         ln -s ../tigerpatches tigervnc/patches
48         cd tigervnc; quilt push -a
49         cd tigervnc/java/src/com/tigervnc/vncviewer; make clean; make
50         jarsigner -keystore ${KEYSTORE} -signedjar VncViewer.jar  tigervnc/java/src/com/tigervnc/vncviewer/VncViewer.jar "dc475d72-124a-11e4-a53f-005056c00008"
51
52 # this is for version 1.2
53 #       ln -s ../newtigerpatches tigervnc/patches
54 #       cd tigervnc/java;cmake -G "Unix Makefiles"; make
55 #       jarsigner -keystore ${KEYSTORE} -signedjar VncViewer.jar  tigervnc/java/VncViewer.jar proxmox
56
57 tigervnc.org: ${TIGERVNCSRC}
58         rm -rf tigervnc.org
59         tar xf ${TIGERVNCSRC}
60
61 download:
62         rm -rf tigervnc.org
63         svn co https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/tags/1_1_0 tigervnc.org 
64         tar cf ${TIGERVNCSRC} tigervnc.org
65
66 .PHONY: install
67 install: vncterm vncterm.1 VncViewer.jar
68         mkdir -p ${DESTDIR}/usr/share/doc/${PACKAGE}
69         mkdir -p ${DESTDIR}/usr/share/man/man1
70         mkdir -p ${DESTDIR}/usr/bin
71         install -s -m 0755 vncterm ${DESTDIR}/usr/bin
72         mkdir -p ${DESTDIR}/usr/share/vncterm/
73         install -m 0644 VncViewer.jar ${DESTDIR}/usr/share/vncterm/
74
75 .PHONY: dinstall
76 dinstall: ${DEB}
77         dpkg -i ${DEB}
78
79 vncterm.1: vncterm.pod
80         rm -f $@
81         pod2man -n $< -s 1 -r ${VERSION} <$< >$@
82
83 .PHONY: deb
84 deb: $(DEB)
85 ${DEB}:
86         make clean
87         rm -rf dest
88         mkdir dest
89         make DESTDIR=`pwd`/dest install
90         install -d -m 0755 dest/DEBIAN
91         install -m 0644 debian/control dest/DEBIAN
92         echo "Architecture: ${ARCH}" >>dest/DEBIAN/control
93         install -m 0644 debian/conffiles dest/DEBIAN
94         install -m 0644 copyright dest/usr/share/doc/${PACKAGE}
95         install -m 0644 vncterm.1 dest/usr/share/man/man1
96         install -m 0644 debian/changelog.Debian dest/usr/share/doc/${PACKAGE}
97         gzip -n --best dest/usr/share/man/*/*
98         gzip -n --best dest/usr/share/doc/${PACKAGE}/changelog.Debian
99         fakeroot dpkg-deb --build dest
100         mv dest.deb ${DEB}
101         rm -rf dest
102         lintian ${DEB}  
103
104 .PHONY: upload
105 upload: ${DEB}
106         tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve --dist stretch
107
108 .PHONY: clean
109 clean:
110         rm -rf vncterm vncterm.1 vncterm_*.deb tigervnc *~ ${VNCDIR} vncterm-*.tar.gz glyph.h.tmp
111
112 .PHONY: distclean
113 distclean: clean
114         rm -rf tigervnc.org
115
116 .PHONY: dist
117 ${SNAP} dist: distclean
118         rm -rf ../${SNAP}
119         cd ..; tar cvzf ${SNAP} --exclude .svn ${PACKAGE}
120         mv ../${SNAP} ${SNAP}
121
122 .PHONY: uploaddist
123 uploaddist: ${SNAP}
124         scp ${SNAP} pve.proxmox.com:/home/ftp/sources/