1 # this requires package pmg-doc-generator
3 include /usr
/share
/pmg-doc-generator
/pmg-doc-generator.mk
7 PERL5DIR
=${DESTDIR}/usr
/share
/perl5
8 DOCDIR
=${DESTDIR}/usr
/share
/doc
/pmg-api
/
9 BASHCOMPLDIR
=${DESTDIR}/usr
/share
/bash-completion
/completions
/
11 SERVICES
= pmgdaemon pmgproxy pmgtunnel pmgmirror
12 CLITOOLS
= pmgdb pmgconfig pmgperf pmgcm pmgqm pmgreport pmgversion pmgupgrade pmgsubscription pmgbackup
13 CLISCRIPTS
= pmg-smtp-filter pmgsh pmgpolicy pmgbanner pmg-system-report
14 CRONSCRIPTS
= pmg-hourly pmg-daily
16 CLI_CLASSES
= $(addprefix PMG
/CLI
/, $(addsuffix .pm
, ${CLITOOLS}))
17 SERVICE_CLASSES
= $(addprefix PMG
/Service
/, $(addsuffix .pm
, ${SERVICES}))
18 SERVICE_UNITS
= $(addprefix debian
/, $(addsuffix .service
, ${SERVICES}))
19 TIMER_UNITS
= $(addprefix debian
/, $(addsuffix .timer
, ${CRONSCRIPTS} pmgspamreport pmgreport
))
21 CLI_BINARIES
= $(addprefix bin
/, ${CLITOOLS} ${CLISCRIPTS} ${CRONSCRIPTS})
22 CLI_MANS
= $(addsuffix .1, ${CLITOOLS}) pmgsh
.1 pmg-system-report
.1
25 SERVICE_MANS
= $(addsuffix .8, ${SERVICES}) pmg-smtp-filter
.8 pmgpolicy
.8
26 CONF_MANS
= pmg.conf
.5 cluster.conf
.5
31 spamreport-verbose.tt \
47 TEMPLATES_FILES
= $(addprefix templates
/, ${TEMPLATES})
51 PMG
/RESTEnvironment.pm \
58 PMG
/ClusterConfig.pm \
61 PMG
/AccessControl.pm \
80 PMG
/RuleDB
/Object.pm \
81 PMG
/RuleDB
/Quarantine.pm \
82 PMG
/RuleDB
/WhoRegex.pm \
83 PMG
/RuleDB
/IPAddress.pm \
85 PMG
/RuleDB
/ModField.pm \
86 PMG
/RuleDB
/MatchFilename.pm \
87 PMG
/RuleDB
/ReceiverRegex.pm \
89 PMG
/RuleDB
/Receiver.pm \
90 PMG
/RuleDB
/Domain.pm \
91 PMG
/RuleDB
/ReceiverDomain.pm \
93 PMG
/RuleDB
/LDAPUser.pm \
94 PMG
/RuleDB
/TimeFrame.pm \
95 PMG
/RuleDB
/MatchField.pm \
96 PMG
/RuleDB
/ContentTypeFilter.pm \
97 PMG
/RuleDB
/ArchiveFilter.pm \
100 PMG
/RuleDB
/ReportSpam.pm \
101 PMG
/RuleDB
/Remove.pm \
102 PMG
/RuleDB
/Attach.pm \
104 PMG
/RuleDB
/Counter.pm \
105 PMG
/RuleDB
/Notify.pm \
106 PMG
/RuleDB
/Disclaimer.pm \
107 PMG
/RuleDB
/Accept.pm \
108 PMG
/RuleDB
/Block.pm \
112 PMG
/API2
/Subscription.pm \
114 PMG
/API2
/Network.pm \
115 PMG
/API2
/Services.pm \
118 PMG
/API2
/DestinationTLSPolicy.pm\
119 PMG
/API2
/Domains.pm \
120 PMG
/API2
/Fetchmail.pm \
122 PMG
/API2
/Transport.pm \
123 PMG
/API2
/MyNetworks.pm \
124 PMG
/API2
/MimeTypes.pm \
126 PMG
/API2
/Cluster.pm \
128 PMG
/API2
/SpamAssassin.pm \
129 PMG
/API2
/Statistics.pm \
130 PMG
/API2
/MailTracker.pm \
133 PMG
/API2
/Postfix.pm \
134 PMG
/API2
/Quarantine.pm \
135 PMG
/API2
/AccessControl.pm \
136 PMG
/API2
/ObjectGroupHelpers.pm \
139 PMG
/API2
/SMTPWhitelist.pm \
146 SOURCES
= ${LIBSOURCES} ${CLI_BINARIES} ${TEMPLATES_FILES} ${CONF_MANS} ${CLI_MANS} ${SERVICE_MANS} ${SERVICE_UNITS} ${TIMER_UNITS} pmg-sources.list pmg-apt.conf pmg-initramfs.conf
150 PMG
/pmgcfg.pm
: PMG
/pmgcfg.pm.in
151 sed
-e s
/@VERSION@
/${PMGVERSION}/ -e s
/@PMGRELEASE@
/${PMGRELEASE}/ -e s
/@PACKAGE@
/${PACKAGE}/ -e s
/@REPOID@
/${REPOID}/ $< >$@.tmp
155 perl
-I.
-T
-e
"use PMG::CLI::$*; PMG::CLI::$*->generate_bash_completions();" >$@.tmp
158 %.service-bash-completion
:
159 perl
-I.
-T
-e
"use PMG::Service::$*; PMG::Service::$*->generate_bash_completions();" >$@.tmp
162 install: ${SOURCES} $(addsuffix .service-bash-completion
, ${SERVICES}) $(addsuffix .bash-completion
, ${CLITOOLS})
163 for i in
${SERVICES}; do perl
-I.
-T
-e
"use PMG::Service::$$i; PMG::Service::$$i->verify_api();"; done
164 for i in
${CLITOOLS}; do perl
-I.
-T
-e
"use PMG::CLI::$$i; PMG::CLI::$$i->verify_api();"; done
165 perl
-I. bin
/pmgsh verifyapi
166 install -d
-m
0755 ${DESTDIR}/usr
/bin
167 install -d
-m
0755 -o www-data
-g www-data
${DESTDIR}/var
/log
/pmgproxy
168 install -d
-m
0755 ${DOCDIR}
169 # TODO: is there a better location ?
170 install -m
0644 favicon.ico
${DOCDIR}
171 install -D
-m
0644 pmg-apt.conf
${DESTDIR}/etc
/apt
/apt.conf.d
/75pmgconf
172 install -D
-m
0644 pmg-sources.list
${DESTDIR}/etc
/apt
/sources.list.d
/pmg-enterprise.list
173 for i in
${LIBSOURCES}; do
install -D
-m
0644 $$i ${PERL5DIR}/$$i; done
174 for i in
${SERVICES}; do
install -D
-m
0644 PMG
/Service
/$$i.pm
${PERL5DIR}/PMG
/Service
/$$i.pm
; done
175 for i in
${SERVICES}; do
install -m
0755 bin
/$$i ${DESTDIR}/usr
/bin
; done
176 for i in
${SERVICES}; do
install -m
0644 -D
$$i.service-bash-completion
${BASHCOMPLDIR}/$$i; done
177 for i in
${CLITOOLS}; do
install -D
-m
0644 PMG
/CLI
/$$i.pm
${PERL5DIR}/PMG
/CLI
/$$i.pm
; done
178 for i in
${CLITOOLS}; do
install -D
-m
0755 bin
/$$i ${DESTDIR}/usr
/bin
/$$i; done
179 for i in
${CLITOOLS}; do
install -D
-m
0644 $$i.bash-completion
${BASHCOMPLDIR}/$$i; done
180 for i in
${CLISCRIPTS}; do
install -D
-m
0755 bin
/$$i ${DESTDIR}/usr
/bin
/$$i; done
181 for i in
${TEMPLATES}; do
install -D
-m
0644 templates
/$$i ${DESTDIR}/var
/lib
/pmg
/templates
/$$i; done
182 for i in
${CLI_MANS}; do
install -D
-m
0644 $$i ${DESTDIR}/usr
/share
/man
/man1
/$$i; done
183 for i in
${CONF_MANS}; do
install -D
-m
0644 $$i ${DESTDIR}/usr
/share
/man
/man5
/$$i; done
184 for i in
${SERVICE_MANS}; do
install -D
-m
0644 $$i ${DESTDIR}/usr
/share
/man
/man8
/$$i; done
185 for i in
${CRONSCRIPTS}; do
install -D
-m
0755 bin
/$$i ${DESTDIR}/usr
/lib
/pmg
/bin
/$$i; done
186 install -d
-m
0755 ${DESTDIR}/lib
/systemd
/system
187 for i in
${TIMER_UNITS}; do
install -m
0644 $$i ${DESTDIR}/lib
/systemd
/system
/; done
188 install -D
-m
0644 pmg-initramfs.conf
${DESTDIR}/etc
/initramfs-tools
/conf.d
/pmg-initramfs.conf
198 rm -rf
${CONF_MANS} *.bash-completion
*.service-bash-completion
199 if
test -d .git
; then
rm -f PMG
/pmgcfg.pm
; fi
200 find .
-name
'*~' -exec
rm {} ';'
204 podselect
$< |pod2man
-n
$(notdir $*) -s
1 -r
${PKGVER} -c
"Proxmox Documentation" >$@.tmp