]> git.proxmox.com Git - proxmox-widget-toolkit.git/blame - src/Makefile
bump version to 4.2.3
[proxmox-widget-toolkit.git] / src / Makefile
CommitLineData
ecabd437
TL
1include defines.mk
2
efcb34fa
DC
3ESLINT ?= $(if $(shell command -v pve-eslint), pve-eslint, eslint)
4
6bf5e125 5SUBDIRS= css images proxmox-dark
ecabd437 6
51a2f11c
TL
7# bundle it for now from the libjs-marked debian package to avoid touching our proxies file mapper,
8# we could also just ship a link to the packages file and load from same path as the widget-toolkit
e09af565 9MARKEDJS=/usr/share/javascript/marked/marked.js
51a2f11c 10
ecabd437
TL
11JSSRC= \
12 Utils.js \
5c085daf 13 Schema.js \
ecabd437
TL
14 Toolkit.js \
15 Logo.js \
51a2f11c 16 Parser.js \
ecabd437
TL
17 mixin/CBind.js \
18 data/reader/JsonObject.js \
19 data/ProxmoxProxy.js \
20 data/UpdateStore.js \
21 data/DiffStore.js \
22 data/ObjectStore.js \
23 data/RRDStore.js \
24 data/TimezoneStore.js \
84f70dfa 25 data/model/NotificationConfig.js \
ecabd437 26 data/model/Realm.js \
c0acd784
WB
27 data/model/Certificates.js \
28 data/model/ACME.js \
52a0eae9 29 form/BandwidthSelector.js \
ecabd437
TL
30 form/DisplayEdit.js \
31 form/ExpireDate.js \
32 form/IntegerField.js \
33 form/TextField.js \
3251f404 34 form/VlanField.js \
ecabd437
TL
35 form/DateTimeField.js \
36 form/Checkbox.js \
37 form/KVComboBox.js \
38 form/LanguageSelector.js \
39 form/ComboGrid.js \
40 form/RRDTypeSelector.js \
41 form/BondModeSelector.js \
42 form/NetworkSelector.js \
43 form/RealmComboBox.js \
9b4b2e74 44 form/PruneKeepField.js \
ecabd437 45 form/RoleSelector.js \
4f0c0764 46 form/DiskSelector.js \
a57a5c77 47 form/MultiDiskSelector.js \
050c1684 48 form/TaskTypeSelector.js \
63be5c59 49 form/ACME.js \
d3812684 50 form/UserSelector.js \
15fddc20 51 form/ThemeSelector.js \
ecabd437 52 button/Button.js \
46317728 53 button/AltText.js \
ecabd437
TL
54 button/HelpButton.js \
55 grid/ObjectGrid.js \
56 grid/PendingObjectGrid.js \
c1594495 57 panel/AuthView.js \
98edb916 58 panel/DiskList.js \
9716d0de 59 panel/EOLNotice.js \
ecabd437 60 panel/InputPanel.js \
9354dc13 61 panel/InfoWidget.js \
ecabd437 62 panel/LogView.js \
14247821 63 panel/NodeInfoRepoStatus.js \
84f70dfa 64 panel/NotificationConfigView.js \
ecabd437 65 panel/JournalView.js \
b99a771b 66 panel/PermissionView.js \
04eb02d9 67 panel/PruneKeepPanel.js \
ecabd437
TL
68 panel/RRDChart.js \
69 panel/GaugeWidget.js \
6669a59f 70 panel/GotifyEditPanel.js \
60fead29 71 panel/Certificates.js \
5df894de 72 panel/ACMEAccount.js \
658bfdff 73 panel/ACMEPlugin.js \
8915422f 74 panel/ACMEDomains.js \
3003f377 75 panel/EmailRecipientPanel.js \
84f70dfa 76 panel/SendmailEditPanel.js \
3003f377 77 panel/SmtpEditPanel.js \
b87d4733 78 panel/StatusView.js \
ab2538f5 79 panel/TfaView.js \
e9144532 80 panel/NotesView.js \
ecabd437
TL
81 window/Edit.js \
82 window/PasswordEdit.js \
8d86570c 83 window/SafeDestroy.js \
1820e77d 84 window/PackageVersions.js \
ecabd437
TL
85 window/TaskViewer.js \
86 window/LanguageEdit.js \
402991a7 87 window/DiskSmart.js \
bde489e5 88 window/ZFSDetail.js \
60fead29 89 window/Certificates.js \
5df894de 90 window/ACMEAccount.js \
658bfdff 91 window/ACMEPluginEdit.js \
8915422f 92 window/ACMEDomains.js \
5d1b587f 93 window/EndpointEditBase.js \
e8f1954c 94 window/NotificationMatcherEdit.js \
09195cb6 95 window/FileBrowser.js \
6a504e19 96 window/AuthEditBase.js \
8f30708d 97 window/AuthEditOpenId.js \
aa5cbdbb 98 window/AuthEditLDAP.js \
4aff870f 99 window/AuthEditAD.js \
9e1f1ef6 100 window/TfaWindow.js \
64176447
WB
101 window/AddTfaRecovery.js \
102 window/AddTotp.js \
103 window/AddWebauthn.js \
20b39dd8 104 window/AddYubico.js \
64176447 105 window/TfaEdit.js \
e9144532 106 window/NotesEdit.js \
15fddc20 107 window/ThemeEdit.js \
d6b65a89 108 window/SyncWindow.js \
ecabd437 109 node/APT.js \
24313a9d 110 node/APTRepositories.js \
ecabd437
TL
111 node/NetworkEdit.js \
112 node/NetworkView.js \
113 node/DNSEdit.js \
114 node/HostsView.js \
115 node/DNSView.js \
116 node/Tasks.js \
117 node/ServiceView.js \
118 node/TimeEdit.js \
119 node/TimeView.js
120
89f32167
TL
121all: $(SUBDIRS)
122 set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i; done
ecabd437 123
89f32167 124.lint-incremental: $(JSSRC)
efcb34fa 125 $(ESLINT) $?
2622cc7c
TL
126 touch "$@"
127
ecabd437
TL
128.PHONY: lint
129check: lint
efcb34fa 130 $(ESLINT) --strict api-viewer/APIViewer.js
89f32167 131lint: $(JSSRC)
efcb34fa 132 $(ESLINT) --strict $(JSSRC)
557c4505 133 touch ".lint-incremental"
ecabd437 134
d7fa9ea4
TL
135BUILD_TIME=$(or $(SOURCE_DATE_EPOCH),$(shell date '+%s.%N'))
136BUILD_VERSION=$(or $(DEB_VERSION),$(shell git rev-parse HEAD),unknown version)
89f32167 137proxmoxlib.js: .lint-incremental $(JSSRC)
ecabd437 138 # add the version as comment in the file
0676eb37 139 echo "// v$(BUILD_VERSION)-t$(BUILD_TIME)" > $@.tmp
89f32167 140 cat $(JSSRC) $(MARKEDJS) >> $@.tmp
ecabd437
TL
141 mv $@.tmp $@
142
e09af565
TL
143proxmoxlib.min.js: proxmoxlib.js
144 uglifyjs $< -c -m -o $@.tmp
145 mv $@.tmp $@
146
147install: proxmoxlib.js proxmoxlib.min.js
89f32167 148 install -d -m 755 $(WWWBASEDIR)
e09af565 149 install -m 0644 proxmoxlib.js proxmoxlib.min.js $(WWWBASEDIR)
89f32167 150 set -e && for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
16f2ad97
TL
151
152.PHONY: clean
153clean:
43b66893 154 $(MAKE) -C proxmox-dark $@
e09af565 155 rm -f proxmoxlib.js* proxmoxlib.min.js* .lint-incremental