]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/Makefile
7474314a724e684ddcc26651bf490b5eea8be9b1
[bacula/bacula] / gui / baculum / Makefile
1 # Makefile to prepare runtime files (for rpm-based and deb-based distributions)
2 #
3 # usage: make DESTDIR=/some/runtime_dir
4
5 NAME = baculum
6 VERSION = 7.5.0
7 DEFTEMPLATE = rpm-template
8 DEFHTTPDNAME = httpd
9 DEFHTTPDSITECONF = conf.d
10 SAMPLETYPE ?= $(DEFTEMPLATE)
11 HTTPDNAME ?= $(DEFHTTPDNAME)
12 HTTPDSITECONF ?= $(DEFHTTPDSITECONF)
13 SYSUSRDIR = /usr
14 SYSCONFDIR = /etc
15 SYSVARDIR = /var
16 CONFDIR = $(SYSCONFDIR)/$(NAME)
17 HTTPDCONFDIR = $(SYSCONFDIR)/$(HTTPDNAME)/$(HTTPDSITECONF)
18 UNITDIR = $(SYSUSRDIR)/lib/systemd/system
19 LOCALEDIR = $(SYSUSRDIR)/share/locale
20 WWWDIR = $(SYSUSRDIR)/share/$(NAME)/htdocs
21 CACHEDIR = $(SYSVARDIR)/cache/$(NAME)
22 LOGDIR = $(SYSVARDIR)/log
23 HTTPDLOGS = $(LOGDIR)/$(HTTPDNAME)
24 LIGHTTPDLOGS = $(LOGDIR)/lighttpd
25
26 # Internal application directories
27 datadir = protected
28 apidir = API
29 webdir = Web
30 commondir = Common
31 frameworkdir = framework
32 themesdir = themes
33 cachedir = assets
34 configdir = Config
35 configcachedir = $(datadir)/runtime
36 samplesdir = examples/$(SAMPLETYPE)
37
38 webdatadirsrc = $(datadir)/$(webdir)/Class \
39         $(datadir)/$(webdir)/Config \
40         $(datadir)/$(webdir)/JavaScript \
41         $(datadir)/$(webdir)/Data \
42         $(datadir)/$(webdir)/Layouts \
43         $(datadir)/$(webdir)/Logs \
44         $(datadir)/$(webdir)/Pages \
45         $(datadir)/$(webdir)/Portlets
46
47 apidatadirsrc = $(datadir)/$(apidir)/Class \
48         $(datadir)/$(apidir)/Config \
49         $(datadir)/$(apidir)/JavaScript \
50         $(datadir)/$(apidir)/Layouts \
51         $(datadir)/$(apidir)/Logs \
52         $(datadir)/$(apidir)/Pages
53
54 commondatadirsrc = $(datadir)/$(commondir)/Class \
55         $(datadir)/$(commondir)/Portlets
56
57 datafilesrc = $(datadir)/application.xml
58
59 webdatafilesrc = $(datadir)/$(webdir)/endpoints.xml \
60         $(datadir)/$(webdir)/Init.php
61
62 apidatafilesrc = $(datadir)/$(apidir)/endpoints.xml
63
64 miscfilesrc = index.php \
65         AUTHORS \
66         INSTALL \
67         LICENSE \
68         README
69
70 localelang = en pl pt ja
71 localewebdirsrc = $(datadir)/$(webdir)/Lang
72 localeapidirsrc = $(datadir)/$(apidir)/Lang
73 localefile = messages.mo
74
75 excluded_dirs = '.*/\(3rdParty\|tinymce-405\).*'
76 excluded_files = '.*\(\.htaccess\)$$'
77
78
79 build: prepare_build prepare_data prepare_externals prepare_themes prepare_locale setup
80
81 prepare_build:
82         if [ -z "$(DESTDIR)" ]; then @echo "No DESTDIR given"; exit 1; fi
83         mkdir -p $(DESTDIR)$(SYSCONFDIR) \
84         $(DESTDIR)$(CONFDIR) \
85         $(DESTDIR)$(HTTPDCONFDIR) \
86         $(DESTDIR)$(UNITDIR) \
87         $(DESTDIR)$(WWWDIR) \
88         $(DESTDIR)$(CACHEDIR) \
89         $(DESTDIR)$(LOCALEDIR) \
90         $(DESTDIR)$(WWWDIR)/$(cachedir) \
91         $(DESTDIR)$(WWWDIR)/$(configcachedir)
92         mkdir -m 700 -p $(DESTDIR)$(CONFDIR)/$(configdir)-api-apache \
93         $(DESTDIR)$(CONFDIR)/$(configdir)-api-lighttpd \
94         $(DESTDIR)$(CONFDIR)/$(configdir)-web-apache \
95         $(DESTDIR)$(CONFDIR)/$(configdir)-web-lighttpd
96
97 prepare_data: prepare_build
98         mkdir -p $(DESTDIR)$(WWWDIR)/$(datadir) \
99         $(DESTDIR)$(WWWDIR)/$(datadir)/$(webdir) \
100         $(DESTDIR)$(WWWDIR)/$(datadir)/$(apidir) \
101         $(DESTDIR)$(WWWDIR)/$(datadir)/$(commondir)
102         cp -ra $(webdatadirsrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(webdir)
103         cp -a $(webdatafilesrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(webdir)
104         cp -ra $(apidatadirsrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(apidir)
105         cp -a $(apidatafilesrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(apidir)
106         cp -ra $(commondatadirsrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(commondir)
107         cp -a $(datafilesrc) $(DESTDIR)$(WWWDIR)/$(datadir)
108         cp -a $(miscfilesrc) $(DESTDIR)$(WWWDIR)/
109
110 prepare_externals: prepare_build
111         find $(frameworkdir) -type d ! -regex $(excluded_dirs) -exec mkdir -p $(DESTDIR)$(WWWDIR)/{} \;
112         find $(frameworkdir) -type f ! -regex $(excluded_files) -a ! -regex $(excluded_dirs) -exec cp -a {} $(DESTDIR)$(WWWDIR)/{} \;
113
114 prepare_themes: prepare_build
115         cp -ra $(themesdir) $(DESTDIR)$(WWWDIR)
116
117 prepare_locale: prepare_build
118         for lang in $(localelang) ; do \
119                 mkdir -p $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES ; \
120                 mkdir -p $(DESTDIR)$(WWWDIR)/$(localewebdirsrc)/$$lang ; \
121                 install -m 644 $(localewebdirsrc)/$$lang/$(localefile) $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-web.mo ; \
122                 ln -s $(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-web.mo $(DESTDIR)$(WWWDIR)/$(localewebdirsrc)/$$lang/$(localefile) ; \
123         done
124         for lang in $(localelang) ; do \
125                 mkdir -p $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES ; \
126                 mkdir -p $(DESTDIR)$(WWWDIR)/$(localeapidirsrc)/$$lang ; \
127                 install -m 644 $(localeapidirsrc)/$$lang/$(localefile) $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-api.mo ; \
128                 ln -s $(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-api.mo $(DESTDIR)$(WWWDIR)/$(localeapidirsrc)/$$lang/$(localefile) ; \
129         done
130
131 prepare_samples:
132         install -m 640 $(samplesdir)/$(NAME)-api-lighttpd.conf $(DESTDIR)$(CONFDIR)
133         install -m 640 $(samplesdir)/$(NAME)-web-lighttpd.conf $(DESTDIR)$(CONFDIR)
134         install -m 644 $(samplesdir)/$(NAME)-api-lighttpd.service $(DESTDIR)$(UNITDIR)
135         install -m 644 $(samplesdir)/$(NAME)-web-lighttpd.service $(DESTDIR)$(UNITDIR)
136         install -m 640 $(samplesdir)/$(NAME)-api-apache.conf $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-api.conf
137         install -m 640 $(samplesdir)/$(NAME)-web-apache.conf $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-web.conf
138         install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-api-lighttpd
139         install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-api-apache
140         install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-web-lighttpd
141         install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-web-apache
142         # Default link apache config file
143         #ln -s $(DESTDIR)$(CONFDIR)/$(configdir)-api-apache $(DESTDIR)$(WWWDIR)/$(datadir)/$(configdir)
144
145 setup: prepare_samples
146         sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(HTTPDLOGS)#g" $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-api.conf
147         sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(HTTPDLOGS)#g" $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-web.conf
148         sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(LIGHTTPDLOGS)#g" $(DESTDIR)$(CONFDIR)/$(NAME)-api-lighttpd.conf
149         sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(LIGHTTPDLOGS)#g" $(DESTDIR)$(CONFDIR)/$(NAME)-web-lighttpd.conf
150         sed -i -e "s#%CONFDIR#$(CONFDIR)#g" $(DESTDIR)$(UNITDIR)/$(NAME)-api-lighttpd.service
151         sed -i -e "s#%CONFDIR#$(CONFDIR)#g" $(DESTDIR)$(UNITDIR)/$(NAME)-web-lighttpd.service
152         find $(DESTDIR)/ -type f -name .gitignore -exec rm -f {} \;