]>
git.proxmox.com Git - pmg-api.git/blob - Makefile
1 PACKAGE
=proxmox-mailgateway-api
5 DEB
=${PACKAGE}_
${PKGVER}-${PKGREL}_all.deb
9 PERL5DIR
=${DESTDIR}/usr
/share
/perl5
10 DOCDIR
=${DESTDIR}/usr
/share
/doc
/${PACKAGE}
11 BASHCOMPLDIR
=${DESTDIR}/usr
/share
/bash-completion
/completions
/
13 REPOID
=`./repoid.pl .git`
15 SERVICES
= pmgdaemon pmgproxy
16 CLITOOLS
= pmgdb pmgconfig
18 CLI_CLASSES
= $(addprefix, 'PMG/API2/', $(addsuffix '.pm', ${CLITOOLS}))
19 CLI_BINARIES
= $(addprefix, 'bin/', ${CLITOOLS}) bin
/pmg-smtp-filter bin
/pmgsh
36 TEMPLATES_FILES
= $(addprefix, 'templates/', ${TEMPLATES})
48 PMG
/AccessControl.pm \
60 PMG
/RuleDB
/Object.pm \
61 PMG
/RuleDB
/Quarantine.pm \
62 PMG
/RuleDB
/WhoRegex.pm \
63 PMG
/RuleDB
/IPAddress.pm \
65 PMG
/RuleDB
/ModField.pm \
66 PMG
/RuleDB
/MatchFilename.pm \
67 PMG
/RuleDB
/ReceiverRegex.pm \
69 PMG
/RuleDB
/Receiver.pm \
70 PMG
/RuleDB
/Domain.pm \
71 PMG
/RuleDB
/ReceiverDomain.pm \
72 PMG
/RuleDB
/TimeFrame.pm \
73 PMG
/RuleDB
/MatchField.pm \
74 PMG
/RuleDB
/ContentTypeFilter.pm \
75 PMG
/RuleDB
/ArchiveFilter.pm \
78 PMG
/RuleDB
/ReportSpam.pm \
79 PMG
/RuleDB
/Remove.pm \
80 PMG
/RuleDB
/Attach.pm \
82 PMG
/RuleDB
/Counter.pm \
83 PMG
/RuleDB
/Notify.pm \
84 PMG
/RuleDB
/Disclaimer.pm \
85 PMG
/RuleDB
/Accept.pm \
91 PMG
/API2
/Services.pm \
95 PMG
/API2
/AccessControl.pm \
99 all: ${LIBSOURCES} ${CLI_BINARIES} ${TEMPLATES_FILES}
102 deb
${DEB}: ${LIBSOURCES} ${CLI_BINARIES} ${TEMPLATES_FILES}
105 cd build
; dpkg-buildpackage
-b
-us
-uc
109 PMG
/pmgcfg.pm
: PMG
/pmgcfg.pm.in
110 sed
-e s
/@VERSION@
/${PKGVER}/ -e s
/@PACKAGERELEASE@
/${PKGREL}/ -e s
/@PACKAGE@
/${PACKAGE}/ -e s
/@REPOID@
/${REPOID}/ $< >$@.tmp
114 perl
-I.
-T
-e
"use PMG::CLI::$*; PMG::CLI::$*->generate_bash_completions();" >$@.tmp
117 %.service-bash-completion
:
118 perl
-I.
-T
-e
"use PMG::Service::$*; PMG::Service::$*->generate_bash_completions();" >$@.tmp
121 install: ${BTDATA} $(addsuffix .pm
, $(addprefix PMG
/Service
/, ${SERVICES})) $(addsuffix .service-bash-completion
, ${SERVICES}) ${LIBSOURCES} ${CLI_BINARIES} $(addsuffix .bash-completion
, ${CLITOOLS}) ${TEMPLATES_FILES}
122 for i in
${SERVICES}; do perl
-I.
-T
-e
"use PMG::Service::$$i; PMG::Service::$$i->verify_api();"; done
123 for i in
${CLITOOLS}; do perl
-I.
-T
-e
"use PMG::CLI::$$i; PMG::CLI::$$i->verify_api();"; done
124 perl
-I. bin
/pmgsh verifyapi
125 install -d
-m
0755 ${DESTDIR}/usr
/bin
126 install -d
-m
0700 -o www-data
-g www-data
${DESTDIR}/var
/log
/pmgproxy
127 install -d
-m
0755 ${DOCDIR}
128 # TODO: is there a better location ?
129 install -m
0644 favicon.ico
${DOCDIR}
130 for i in
${LIBSOURCES}; do
install -D
-m
0644 $$i ${PERL5DIR}/$$i; done
131 for i in
${SERVICES}; do
install -D
-m
0644 PMG
/Service
/$$i.pm
${PERL5DIR}/PMG
/Service
/$$i.pm
; done
132 for i in
${SERVICES}; do
install -m
0755 bin
/$$i ${DESTDIR}/usr
/bin
; done
133 for i in
${SERVICES}; do
install -m
0644 -D
$$i.service-bash-completion
${BASHCOMPLDIR}/$$i; done
134 for i in
${CLITOOLS}; do
install -D
-m
0644 PMG
/CLI
/$$i.pm
${PERL5DIR}/PMG
/CLI
/$$i.pm
; done
135 for i in
${CLITOOLS}; do
install -D
-m
0755 bin
/$$i ${DESTDIR}/usr
/bin
/$$i; done
136 for i in
${CLITOOLS}; do
install -D
-m
0644 $$i.bash-completion
${BASHCOMPLDIR}/$$i; done
137 install -m
0755 bin
/pmg-smtp-filter
${DESTDIR}/usr
/bin
/
138 install -m
0755 bin
/pmgsh
${DESTDIR}/usr
/bin
/
139 for i in
${TEMPLATES}; do
install -D
-m
0644 templates
/$$i ${DESTDIR}/var
/lib
/pmg
/templates
/$$i; done
143 .
/repoid.pl .git
/ check
144 # fixme tar cf - ${DEB} | ssh repoman@repo.proxmox.com upload
154 rm -rf .
/build
*.deb
*.changes
*.buildinfo
*.bash-completion
*.service-bash-completion
155 if
test -d .git
; then
rm -f PMG
/pmgcfg.pm
; fi
156 find .
-name
'*~' -exec
rm {} ';'