-RELEASE=4.0
+include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/architecture.mk
PACKAGE=spiceterm
-VERSION=2.0
-PACKAGERELEASE=1
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
GITVERSION:=$(shell cat .git/refs/heads/master)
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
-DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_${ARCH}.deb
+DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
+DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
+DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
-PROGRAMS=spiceterm
+$(BUILDDIR): src/ debian/
+ rm -rf $(BUILDDIR)
+ rsync -a src/ debian $(BUILDDIR)
+ echo "git clone git://git.proxmox.com/git/spiceterm.git\\ngit checkout $(GITVERSION)" > $(BUILDDIR)/debian/SOURCE
-HEADERS=translations.h event_loop.h glyphs.h spiceterm.h keysyms.h
-SOURCES=screen.c event_loop.c input.c spiceterm.c auth-pve.c
+.PHONY: dsc
+dsc: clean
+ $(MAKE) $(DSC)
+ lintian $(DSC)
-#export G_MESSAGES_DEBUG=all
-#export SPICE_DEBUG=1
+$(DSC): $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
-all: ${PROGRAMS}
-
-spiceterm: ${SOURCES} ${HEADERS} spiceterm.c
- gcc -Werror -Wall -Wl,-z,relro -Wtype-limits ${SOURCES} -g -O2 -o $@ -lutil $(shell pkg-config) $(shell pkg-config --cflags --libs gthread-2.0,spice-protocol,spice-server,libsasl2)
-
-genfont: genfont.c
- gcc -g -O2 -o $@ genfont.c -Wall -D_GNU_SOURCE -lz
-
-keysyms.h: genkeysym.pl
- ./genkeysym.pl >$@
-
-.PHONY: glyphs
-glyphs: genfont
- ./genfont > glyphs.h
-
-spiceterm.1: spiceterm.pod
- rm -f $@
- pod2man -n $< -s 1 -r ${VERSION} <$< >$@
-
-.PHONY: install
-install: spiceterm spiceterm.1
- mkdir -p ${DESTDIR}/usr/share/doc/${PACKAGE}
- install -m 0644 copyright ${DESTDIR}/usr/share/doc/${PACKAGE}
- mkdir -p ${DESTDIR}/usr/share/man/man1
- install -m 0644 spiceterm.1 ${DESTDIR}/usr/share/man/man1
- mkdir -p ${DESTDIR}/usr/bin
- install -s -m 0755 spiceterm ${DESTDIR}/usr/bin
+sbuild: $(DSC)
+ sbuild $<
.PHONY: deb
-deb: ${DEB}
-${DEB}:
- make clean
- rsync -a . --exclude build build
- echo "git clone git://git.proxmox.com/git/spiceterm.git\\ngit checkout ${GITVERSION}" > build/debian/SOURCE
- cd build; dpkg-buildpackage -rfakeroot -b -us -uc
- lintian ${DEB}
+deb: $(DEB)
+$(DEB): $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+ lintian $(DEB)
.PHONY: dinstall
-dinstall: ${DEB}
- dpkg -i ${DEB}
-
+dinstall: $(DEB)
+ dpkg -i $(DEB)
.PHONY: upload
-upload: ${DEB}
- umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw
- mkdir -p /pve/${RELEASE}/extra
- rm -f /pve/${RELEASE}/extra/${PACKAGE}_*.deb
- rm -f /pve/${RELEASE}/extra/Packages*
- cp ${DEB} /pve/${RELEASE}/extra
- cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz
- umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEB)
+ tar cf - $(DEB) $(DBG_DEB) | ssh repoman@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
-.PHONY: test
-test: spiceterm
- ./spiceterm --noauth --keymap de & remote-viewer spice://localhost?tls-port=5900
- #G_MESSAGES_DEBUG=all SPICE_DEBUG=1 SPICE_TICKET=test ./spiceterm & G_MESSAGES_DEBUG=all SPICE_DEBUG=1 remote-viewer --debug 'spice://localhost?tls-port=5900' --spice-ca-file /etc/pve/pve-root-ca.pem --spice-secure-channels=all
-
-.PHONY: distclean
+.PHONY: distclean clean
distclean: clean
-
-.PHONY: clean
clean:
- rm -rf *~ ${PROGRAMS} build *.deb *.changes genfont
+ $(MAKE) -C src $@
+ rm -rf *~ $(PACKAGE)-*/ $(PACKAGE)*.tar* *.deb *.dsc *.changes *.build *.buildinfo