]> git.proxmox.com Git - pve-xtermjs.git/blame - Makefile
readme: update and reword slightly
[pve-xtermjs.git] / Makefile
CommitLineData
dcefe98b 1include /usr/share/dpkg/pkg-info.mk
3e4311fe 2include /usr/share/dpkg/architecture.mk
dcefe98b
TL
3
4PACKAGE=pve-xtermjs
3e4311fe 5CRATENAME=termproxy
dcefe98b 6
11430bcc
TL
7BUILDDIR ?= $(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM)
8ORIG_SRC_TAR=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
9
d174283d 10export VERSION=$(DEB_VERSION_UPSTREAM_REVISION)
dcf3d43b 11
1ad0d6ab 12XTERMJSVER=5.3.0
d174283d 13XTERMJSTGZ=xterm-$(XTERMJSVER).tgz
5e8b8730 14
1ad0d6ab 15FITADDONVER=0.8.0
d174283d 16FITADDONTGZ=xterm-addon-fit-$(FITADDONVER).tgz
e264b129 17
154b65d5
DC
18WEBGLADDONVER=0.16.0
19WEBGLADDONTGZ=xterm-addon-webgl-$(WEBGLADDONVER).tgz
20
ff095498
TL
21DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
22DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
d174283d 23DSC=rust-$(CRATENAME)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
dcf3d43b 24
11430bcc 25CARGO ?= cargo
3e4311fe
DC
26ifeq ($(BUILD_MODE), release)
27CARGO_BUILD_ARGS += --release
28COMPILEDIR := target/release
29else
30COMPILEDIR := target/debug
31endif
32
11430bcc
TL
33PREFIX = /usr
34BINDIR = $(PREFIX)/bin
35TERMPROXY_BIN := $(addprefix $(COMPILEDIR)/,termproxy)
36
37all:
38
39install: $(TERMPROXY_BIN)
40 install -dm755 $(DESTDIR)$(BINDIR)
41 install -m755 $(TERMPROXY_BIN) $(DESTDIR)$(BINDIR)/
42
43$(TERMPROXY_BIN): .do-cargo-build
44.do-cargo-build:
45 $(CARGO) build $(CARGO_BUILD_ARGS)
46 touch .do-cargo-build
3e4311fe 47
3e4311fe
DC
48
49.PHONY: cargo-build
11430bcc
TL
50cargo-build: .do-cargo-build
51
52update-dcontrol:
53 rm -rf $(BUILDDIR)
54 $(MAKE) $(BUILDDIR)
55 cd $(BUILDDIR); debcargo package \
10de4e73
TL
56 --config debian/debcargo.toml \
57 --changelog-ready \
58 --no-overlay-write-back \
59 --directory build \
60 $(CRATENAME) \
11430bcc
TL
61 $(DEB_VERSION_UPSTREAM)
62 cd $(BUILDDIR)/build; wrap-and-sort -tkn
63 cp --remove-destination $(BUILDDIR)/build/debian/control debian/control
64
65$(BUILDDIR):
66 rm -rf $@ $@.tmp
67 mkdir $@.tmp
68 cp -a debian/ src/ Makefile Cargo.toml $@.tmp
ff095498
TL
69 echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout $$(git rev-parse HEAD)" \
70 > $@.tmp/debian/SOURCE
d007d21e
TL
71 mv $@.tmp $@
72
73
74$(ORIG_SRC_TAR): $(BUILDDIR)
75 tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
094d1014 76
dcf3d43b 77.PHONY: deb
d174283d 78deb: $(DEB)
11430bcc
TL
79$(DBG_DEB): $(DEB)
80$(DEB): $(BUILDDIR)
81 cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
d174283d
TL
82 lintian $(DEB)
83 @echo $(DEB)
dcf3d43b 84
094d1014 85.PHONY: dsc
d007d21e
TL
86dsc:
87 rm -rf $(DSC) $(BUILDDIR)
88 $(MAKE) $(DSC)
d174283d 89 lintian $(DSC)
dcf3d43b 90
d007d21e
TL
91$(DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
92 cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
93
94sbuild: $(DSC)
95 sbuild $(DSC)
96
3f491b85
TL
97EXCLUDED_ADDONS=attach fullscreen search terminado webLinks zmodem
98X_EXCLUSIONS=$(foreach ADDON,$(EXCLUDED_ADDONS),--exclude=addons/$(ADDON))
99
dcf3d43b 100.PHONY: download
3d800c15 101download:
d174283d
TL
102 wget https://registry.npmjs.org/xterm/-/$(XTERMJSTGZ) -O $(XTERMJSTGZ).tmp
103 wget https://registry.npmjs.org/xterm-addon-fit/-/$(FITADDONTGZ) -O $(FITADDONTGZ).tmp
154b65d5 104 wget https://registry.npmjs.org/xterm-addon-webgl/-/$(WEBGLADDONTGZ) -O $(WEBGLADDONTGZ).tmp
d174283d
TL
105 mv $(XTERMJSTGZ).tmp $(XTERMJSTGZ)
106 mv $(FITADDONTGZ).tmp $(FITADDONTGZ)
154b65d5 107 mv $(WEBGLADDONTGZ).tmp $(WEBGLADDONTGZ)
ff095498
TL
108 tar -C src/www -xf $(XTERMJSTGZ) package/lib package/css --strip-components=2 $(X_EXCLUSIONS)
109 tar -C src/www -xf $(FITADDONTGZ) package/lib --strip-components=2 $(X_EXCLUSIONS)
154b65d5
DC
110 tar -C src/www -xf $(WEBGLADDONTGZ) package/lib --strip-components=2 $(X_EXCLUSIONS)
111 rm $(XTERMJSTGZ) $(FITADDONTGZ) $(WEBGLADDONTGZ)
dcf3d43b
DC
112
113.PHONY: upload
0534882f 114upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
d174283d 115upload: $(DEB) $(DBG_DEB)
0534882f 116 tar cf - $(DEB) $(DBG_DEB) |ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
dcf3d43b
DC
117
118.PHONY: distclean
119distclean: clean
120
121.PHONY: clean
122clean:
11430bcc
TL
123 $(CARGO) clean
124 rm -rf $(DEB_SOURCE)-[0-9]*/ build/ *.deb *.changes *.dsc *.tar.* *.buildinfo *.build .do-cargo-build
dcf3d43b
DC
125
126.PHONY: dinstall
127dinstall: deb
d174283d 128 dpkg -i $(DEB)