1225390a8f556ad4737acfb04828193864e8c27e
[vncterm.git] / Makefile
1 PACKAGE=vncterm
2 # Note: also change version in debian/control and debian/changelog
3 VERSION=1.5
4 PACKAGERELEASE=3
5 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
6 GITVERSION:=$(shell cat .git/refs/heads/master)
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 DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_${ARCH}.deb
15
16 CPPFLAGS += -O2 -g -Wall -Wno-deprecated-declarations -D_GNU_SOURCE -I $(VNCDIR)
17
18 VNC_LIBS := -lnsl -lpthread -lz -ljpeg -lutil -lgnutls -lpng
19
20 all: vncterm
21
22 font.data: genfont2
23         ./genfont2 -o font.data.tmp -i /usr/share/unifont/unifont.hex
24         mv font.data.tmp font.data
25
26 genfont2: genfont2.c
27         gcc -g -O2 -o $@ genfont2.c -Wall -Wextra -D_GNU_SOURCE -lz
28
29 .PHONY: vnc
30 vnc: ${VNCLIB}
31 ${VNCLIB}: ${VNCSRC}
32         rm -rf ${VNCDIR}
33         tar xf ${VNCSRC}
34         ln -s ../vncpatches ${VNCDIR}/patches
35         cd ${VNCDIR}; quilt push -a
36         cd ${VNCDIR}; ./autogen.sh --without-ssl --without-websockets --without-tightvnc-filetransfer;
37         cd ${VNCDIR}; $(MAKE)
38
39 vncterm: vncterm.c wchardata.c $(VNCLIB)
40         $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $^ $(VNC_LIBS)
41
42 wchardata.c:
43         cp /usr/share/unifont/$@ $@
44
45 .PHONY: install
46 install: vncterm vncterm.1 font.data
47         mkdir -p ${DESTDIR}/usr/share/doc/${PACKAGE}
48         install -m 0644 copyright ${DESTDIR}/usr/share/doc/${PACKAGE}
49         mkdir -p ${DESTDIR}/usr/share/${PACKAGE}
50         install -m 0644 font.data ${DESTDIR}/usr/share/${PACKAGE}
51         mkdir -p ${DESTDIR}/usr/share/man/man1
52         install -m 0644 vncterm.1 ${DESTDIR}/usr/share/man/man1
53         mkdir -p ${DESTDIR}/usr/bin
54         install -s -m 0755 vncterm ${DESTDIR}/usr/bin
55
56 .PHONY: dinstall
57 dinstall: ${DEB}
58         dpkg -i ${DEB}
59
60 vncterm.1: vncterm.pod
61         rm -f $@
62         pod2man -n $< -s 1 -r ${VERSION} <$< >$@
63
64 .PHONY: deb
65 deb: $(DEB)
66 ${DEB}:
67         $(MAKE) clean
68         rsync -a . --exclude build build
69         echo "git clone git://git.proxmox.com/git/vncterm.git\\ngit checkout ${GIVERSION}" > build/debian/SOURCE
70         cd build; dpkg-buildpackage -rfakeroot -b -us -uc
71         lintian ${DEB}  
72
73 .PHONY: upload
74 upload: ${DEB}
75         tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve --dist stretch
76
77 .PHONY: clean
78 clean:
79         rm -rf vncterm vncterm.1 vncterm_*.deb genfont genfont2 *~ ${VNCDIR} vncterm-*.tar.gz glyph.h.tmp build *.changes wchardata.c font.data.tmp font.data *.buildinfo
80
81 .PHONY: distclean
82 distclean: clean