1 # Makefile to prepare runtime files in rpm based distributions
3 # usage: make DESTDIR=/some/runtime_dir
7 SAMPLETYPE = rpm-template
11 CONFDIR = $(SYSCONFDIR)/$(NAME)
12 HTTPDCONFDIR = $(SYSCONFDIR)/httpd/conf.d
13 UNITDIR = $(SYSUSRDIR)/lib/systemd/system
14 LOCALEDIR = $(SYSUSRDIR)/share/locale
15 WWWDIR = $(SYSUSRDIR)/share/$(NAME)/htdocs
16 SELINUXDIR = $(SYSUSRDIR)/share/selinux/packages/$(NAME)
17 CACHEDIR = $(SYSVARDIR)/cache/$(NAME)
18 LOGDIR = $(SYSVARDIR)/log
19 HTTPDLOGS = $(LOGDIR)/httpd
20 LIGHTTPDLOGS = $(LOGDIR)/lighttpd
22 # Internal application directories
24 frameworkdir = framework
28 configcachedir = $(datadir)/runtime
29 samplesdir = examples/$(SAMPLETYPE)
31 datadirsrc = $(datadir)/Class \
32 $(datadir)/JavaScript \
37 datafilesrc = $(datadir)/application.xml
39 miscfilesrc = index.php \
46 localedirsrc = $(datadir)/Lang
47 localefile = messages.mo
49 excluded_dirs = '.*/\(3rdParty\|tinymce-405\).*'
50 excluded_files = '.*\(\.htaccess\)$$'
53 build: prepare_build prepare_data prepare_externals prepare_themes prepare_locale setup
56 if [ -z "$(DESTDIR)" ]; then @echo "No DESTDIR given"; exit 1; fi
57 mkdir -p $(DESTDIR)$(SYSCONFDIR) \
58 $(DESTDIR)$(CONFDIR) \
59 $(DESTDIR)$(HTTPDCONFDIR) \
60 $(DESTDIR)$(UNITDIR) \
62 $(DESTDIR)$(SELINUXDIR) \
63 $(DESTDIR)$(CACHEDIR) \
64 $(DESTDIR)$(LOCALEDIR) \
65 $(DESTDIR)$(WWWDIR)/$(cachedir) \
66 $(DESTDIR)$(WWWDIR)/$(configcachedir)
67 mkdir -m 700 -p $(DESTDIR)$(CONFDIR)/$(configdir)-apache \
68 $(DESTDIR)$(CONFDIR)/$(configdir)-lighttpd
70 prepare_data: prepare_build
71 mkdir -p $(DESTDIR)$(WWWDIR)/$(datadir)
72 cp -ra $(datadirsrc) $(DESTDIR)$(WWWDIR)/$(datadir)
73 cp -a $(datafilesrc) $(DESTDIR)$(WWWDIR)/$(datadir)
74 cp -a $(miscfilesrc) $(DESTDIR)$(WWWDIR)/
76 prepare_externals: prepare_build
77 find $(frameworkdir) -type d ! -regex $(excluded_dirs) -exec mkdir -p $(DESTDIR)$(WWWDIR)/{} \;
78 find $(frameworkdir) -type f ! -regex $(excluded_files) -a ! -regex $(excluded_dirs) -exec cp -a {} $(DESTDIR)$(WWWDIR)/{} \;
80 prepare_themes: prepare_build
81 cp -ra $(themesdir) $(DESTDIR)$(WWWDIR)
83 prepare_locale: prepare_build
84 for lang in $(localelang) ; do \
85 mkdir -p $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES ; \
86 mkdir -p $(DESTDIR)$(WWWDIR)/$(localedirsrc)/$$lang ; \
87 install -m 644 $(localedirsrc)/$$lang/$(localefile) $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME).mo ; \
88 ln -s $(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME).mo $(DESTDIR)$(WWWDIR)/$(localedirsrc)/$$lang/$(localefile) ; \
92 install -m 640 $(samplesdir)/$(NAME)-lighttpd.conf $(DESTDIR)$(CONFDIR)
93 install -m 644 $(samplesdir)/$(NAME)-lighttpd.service $(DESTDIR)$(UNITDIR)
94 install -m 640 $(samplesdir)/$(NAME)-apache.conf $(DESTDIR)$(HTTPDCONFDIR)/$(NAME).conf
95 install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-lighttpd
96 install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-apache
97 # Default link apache config file
98 ln -s $(DESTDIR)$(CONFDIR)/$(configdir)-apache $(DESTDIR)$(WWWDIR)/$(datadir)/$(configdir)
100 setup: prepare_samples
101 sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(HTTPDLOGS)#g" $(DESTDIR)$(HTTPDCONFDIR)/$(NAME).conf
102 sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(LIGHTTPDLOGS)#g" $(DESTDIR)$(CONFDIR)/$(NAME)-lighttpd.conf
103 sed -i -e "s#%CONFDIR#$(CONFDIR)#g" $(DESTDIR)$(UNITDIR)/$(NAME)-lighttpd.service