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 \
59 PMG
/ClusterConfig.pm \
62 PMG
/AccessControl.pm \
84 PMG
/RuleDB
/Object.pm \
85 PMG
/RuleDB
/Quarantine.pm \
86 PMG
/RuleDB
/WhoRegex.pm \
87 PMG
/RuleDB
/IPAddress.pm \
89 PMG
/RuleDB
/ModField.pm \
90 PMG
/RuleDB
/MatchFilename.pm \
91 PMG
/RuleDB
/MatchArchiveFilename.pm \
92 PMG
/RuleDB
/ReceiverRegex.pm \
94 PMG
/RuleDB
/Receiver.pm \
95 PMG
/RuleDB
/Domain.pm \
96 PMG
/RuleDB
/ReceiverDomain.pm \
98 PMG
/RuleDB
/LDAPUser.pm \
99 PMG
/RuleDB
/TimeFrame.pm \
100 PMG
/RuleDB
/MatchField.pm \
101 PMG
/RuleDB
/ContentTypeFilter.pm \
102 PMG
/RuleDB
/ArchiveFilter.pm \
104 PMG
/RuleDB
/Virus.pm \
105 PMG
/RuleDB
/ReportSpam.pm \
106 PMG
/RuleDB
/Remove.pm \
107 PMG
/RuleDB
/Attach.pm \
109 PMG
/RuleDB
/Counter.pm \
110 PMG
/RuleDB
/Notify.pm \
111 PMG
/RuleDB
/Disclaimer.pm \
112 PMG
/RuleDB
/Accept.pm \
113 PMG
/RuleDB
/Block.pm \
117 PMG
/API2
/Subscription.pm \
119 PMG
/API2
/Network.pm \
120 PMG
/API2
/Services.pm \
123 PMG
/API2
/DestinationTLSPolicy.pm\
124 PMG
/API2
/Domains.pm \
125 PMG
/API2
/DKIMSignDomains.pm \
126 PMG
/API2
/DKIMSign.pm \
127 PMG
/API2
/Fetchmail.pm \
129 PMG
/API2
/Transport.pm \
130 PMG
/API2
/MyNetworks.pm \
131 PMG
/API2
/MimeTypes.pm \
133 PMG
/API2
/Cluster.pm \
135 PMG
/API2
/SpamAssassin.pm \
136 PMG
/API2
/SACustom.pm \
137 PMG
/API2
/Statistics.pm \
138 PMG
/API2
/MailTracker.pm \
140 PMG
/API2
/PBS
/Remote.pm \
142 PMG
/API2
/Postfix.pm \
143 PMG
/API2
/Quarantine.pm \
144 PMG
/API2
/AccessControl.pm \
145 PMG
/API2
/ObjectGroupHelpers.pm \
148 PMG
/API2
/SMTPWhitelist.pm \
155 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
159 PMG
/pmgcfg.pm
: PMG
/pmgcfg.pm.in
160 sed
-e s
/@VERSION@
/${PMGVERSION}/ -e s
/@PMGRELEASE@
/${PMGRELEASE}/ -e s
/@PACKAGE@
/${PACKAGE}/ -e s
/@REPOID@
/${REPOID}/ $< >$@.tmp
164 perl
-I.
-T
-e
"use PMG::CLI::$*; PMG::CLI::$*->generate_bash_completions();" >$@.tmp
167 %.service-bash-completion
:
168 perl
-I.
-T
-e
"use PMG::Service::$*; PMG::Service::$*->generate_bash_completions();" >$@.tmp
171 install: ${SOURCES} $(addsuffix .service-bash-completion
, ${SERVICES}) $(addsuffix .bash-completion
, ${CLITOOLS})
172 for i in
${SERVICES}; do perl
-I.
-T
-e
"use PMG::Service::$$i; PMG::Service::$$i->verify_api();"; done
173 for i in
${CLITOOLS}; do perl
-I.
-T
-e
"use PMG::CLI::$$i; PMG::CLI::$$i->verify_api();"; done
174 perl
-I. bin
/pmgsh verifyapi
175 install -d
-m
0755 ${DESTDIR}/usr
/bin
176 install -d
-m
0755 -o www-data
-g www-data
${DESTDIR}/var
/log
/pmgproxy
177 install -d
-m
0755 ${DOCDIR}
178 # TODO: is there a better location ?
179 install -m
0644 favicon.ico
${DOCDIR}
180 install -D
-m
0644 pmg-apt.conf
${DESTDIR}/etc
/apt
/apt.conf.d
/75pmgconf
181 install -D
-m
0644 pmg-sources.list
${DESTDIR}/etc
/apt
/sources.list.d
/pmg-enterprise.list
182 for i in
${LIBSOURCES}; do
install -D
-m
0644 $$i ${PERL5DIR}/$$i; done
183 for i in
${SERVICES}; do
install -D
-m
0644 PMG
/Service
/$$i.pm
${PERL5DIR}/PMG
/Service
/$$i.pm
; done
184 for i in
${SERVICES}; do
install -m
0755 bin
/$$i ${DESTDIR}/usr
/bin
; done
185 for i in
${SERVICES}; do
install -m
0644 -D
$$i.service-bash-completion
${BASHCOMPLDIR}/$$i; done
186 for i in
${CLITOOLS}; do
install -D
-m
0644 PMG
/CLI
/$$i.pm
${PERL5DIR}/PMG
/CLI
/$$i.pm
; done
187 for i in
${CLITOOLS}; do
install -D
-m
0755 bin
/$$i ${DESTDIR}/usr
/bin
/$$i; done
188 for i in
${CLITOOLS}; do
install -D
-m
0644 $$i.bash-completion
${BASHCOMPLDIR}/$$i; done
189 for i in
${CLISCRIPTS}; do
install -D
-m
0755 bin
/$$i ${DESTDIR}/usr
/bin
/$$i; done
190 for i in
${TEMPLATES}; do
install -D
-m
0644 templates
/$$i ${DESTDIR}/var
/lib
/pmg
/templates
/$$i; done
191 for i in
${CLI_MANS}; do
install -D
-m
0644 $$i ${DESTDIR}/usr
/share
/man
/man1
/$$i; done
192 for i in
${CONF_MANS}; do
install -D
-m
0644 $$i ${DESTDIR}/usr
/share
/man
/man5
/$$i; done
193 for i in
${SERVICE_MANS}; do
install -D
-m
0644 $$i ${DESTDIR}/usr
/share
/man
/man8
/$$i; done
194 for i in
${CRONSCRIPTS}; do
install -D
-m
0755 bin
/$$i ${DESTDIR}/usr
/lib
/pmg
/bin
/$$i; done
195 install -d
-m
0755 ${DESTDIR}/lib
/systemd
/system
196 for i in
${TIMER_UNITS}; do
install -m
0644 $$i ${DESTDIR}/lib
/systemd
/system
/; done
197 install -D
-m
0644 pmg-initramfs.conf
${DESTDIR}/etc
/initramfs-tools
/conf.d
/pmg-initramfs.conf
208 rm -rf
${CONF_MANS} *.bash-completion
*.service-bash-completion
209 if
test -d .git
; then
rm -f PMG
/pmgcfg.pm
; fi
210 find .
-name
'*~' -exec
rm {} ';'
214 podselect
$< |pod2man
-n
$(notdir $*) -s
1 -r
${PKGVER} -c
"Proxmox Documentation" >$@.tmp