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