1## Makefile for distrib/initscripts/ 2 3SUFFIXES = .tmpl . 4 5pkgconfdir = @PKGCONFDIR@ 6 7# 8# Template Generation 9# 10 11.tmpl: 12 sed -e s@:BINDIR:@${bindir}@ \ 13 -e s@:SBINDIR:@${sbindir}@ \ 14 -e s@:ETCDIR:@${pkgconfdir}@ \ 15 -e s@:PKGLIBEXECDIR:@${pkglibexecdir}@ \ 16 -e s@:NETATALK_VERSION:@${NETATALK_VERSION}@ \ 17 <$< >$@ 18 19GENERATED_FILES = \ 20 rc.afpd.netbsd \ 21 rc.atalk.redhat-sysv \ 22 rc.atalk.systemd \ 23 rc.atalk.tru64 \ 24 rc.atalk.bsd \ 25 rc.atalkd.netbsd \ 26 rc.atalk.suse-sysv \ 27 rc.cnid_metad.netbsd \ 28 rc.papd.netbsd \ 29 rc.timelord.netbsd \ 30 rc.atalk.sysv \ 31 rc.atalk.gentoo \ 32 rc.atalk.debian \ 33 service.atalk.systemd 34 35TEMPLATES = \ 36 rc.afpd.netbsd.tmpl \ 37 rc.atalk.redhat-sysv.tmpl \ 38 rc.atalk.systemd.tmpl \ 39 rc.atalk.tru64.tmpl \ 40 rc.atalk.bsd.tmpl \ 41 rc.atalkd.netbsd.tmpl \ 42 rc.atalk.suse-sysv.tmpl \ 43 rc.cnid_metad.netbsd.tmpl \ 44 rc.papd.netbsd.tmpl \ 45 rc.timelord.netbsd.tmpl \ 46 rc.atalk.sysv.tmpl \ 47 rc.atalk.gentoo.tmpl \ 48 rc.atalk.debian.tmpl \ 49 service.atalk.systemd.tmpl 50 51CLEANFILES = $(GENERATED_FILES) $(sysv_SCRIPTS) $(service_DATA) afpd atalkd cnid_metad papd timelord 52EXTRA_DIST = $(TEMPLATES) 53 54# overwrite automake uninstall 55# not beautiful, but this way we can call the OS specific init script 56# tools, like chkconfig, insserv or rc-update 57 58uninstall: uninstall-startup 59 60# 61# checking for "redhat" style sysv scripts: 62# 63 64if USE_REDHAT_SYSV 65 66sysvdir = /etc/rc.d/init.d 67sysv_SCRIPTS = netatalk 68 69$(sysv_SCRIPTS): rc.atalk.redhat-sysv 70 cp -f rc.atalk.redhat-sysv $(sysv_SCRIPTS) 71 chmod a+x $(sysv_SCRIPTS) 72 73install-data-hook: 74 -chkconfig --add $(sysv_SCRIPTS) 75 76uninstall-startup: 77 -chkconfig --del $(sysv_SCRIPTS) 78 rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS) 79 80endif 81 82# 83# checking for general systemd scripts: 84# 85 86if USE_SYSTEMD 87 88sysvdir = $(pkglibexecdir) 89sysv_SCRIPTS = netatalk.sh 90 91servicedir = /lib/systemd/system 92service_DATA = netatalk.service 93 94$(sysv_SCRIPTS): rc.atalk.systemd 95 cp -f rc.atalk.systemd $(sysv_SCRIPTS) 96 chmod a+x $(sysv_SCRIPTS) 97 98$(service_DATA): service.atalk.systemd 99 cp -f service.atalk.systemd $(service_DATA) 100 101install-data-hook: 102 -systemctl daemon-reload 103 104uninstall-startup: 105 -systemctl disable $(service_DATA) 106 rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS) \ 107 $(DESTDIR)$(servicedir)/$(service_DATA) 108 -systemctl daemon-reload 109 110endif 111 112# 113# checking for "SuSE" style sysv scripts: 114# 115 116if USE_SUSE_SYSV 117 118sysvdir = /etc/init.d 119sysv_SCRIPTS = netatalk 120 121$(sysv_SCRIPTS): rc.atalk.suse-sysv 122 cp -f rc.atalk.suse-sysv $(sysv_SCRIPTS) 123 chmod a+x $(sysv_SCRIPTS) 124 125install-data-hook: 126 -insserv $(sysv_SCRIPTS) 127 128uninstall-startup: 129 -insserv -d $(sysv_SCRIPTS) 130 rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS) 131 132endif 133 134# 135# checking for "tru64" style sysv scripts: 136# 137 138if USE_TRU64 139 140sysvdir = /etc/init.d 141sysv_SCRIPTS = netatalk 142 143$(sysv_SCRIPTS): rc.atalk.tru64 144 cp -f rc.atalk.tru64 $(sysv_SCRIPTS) 145 chmod a+x $(sysv_SCRIPTS) 146 147install-data-hook: 148 149uninstall-hook: 150 151uninstall-startup: uninstall-am 152 153endif 154 155# 156# checking for NetBSD init scripts 157# 158 159if USE_NETBSD 160 161sysvdir = /etc/rc.d 162sysv_SCRIPTS = afpd atalkd cnid_metad papd timelord 163 164afpd: rc.afpd.netbsd 165 cp -f $< $@ 166 chmod a+x $@ 167 168atalkd: rc.atalkd.netbsd 169 cp -f $< $@ 170 chmod a+x $@ 171 172cnid_metad: rc.cnid_metad.netbsd 173 cp -f $< $@ 174 chmod a+x $@ 175 176papd: rc.papd.netbsd 177 cp -f $< $@ 178 chmod a+x $@ 179 180timelord: rc.timelord.netbsd 181 cp -f $< $@ 182 chmod a+x $@ 183 184install-data-hook: 185 186uninstall-hook: 187 188uninstall-startup: uninstall-am 189 190endif 191 192# 193# checking for Solaris init scripts 194# 195 196if USE_SOLARIS 197 198sysvdir = /etc/init.d 199sysv_SCRIPTS = netatalk 200 201$(sysv_SCRIPTS): rc.atalk.sysv 202 cp -f rc.atalk.sysv $@ 203 chmod a+x $@ 204 205install-data-hook: 206 rm -f $(DESTDIR)/etc/rc2.d/S90$(sysv_SCRIPTS) 207 -ln -s ../init.d/$(sysv_SCRIPTS) $(DESTDIR)/etc/rc2.d/S90$(sysv_SCRIPTS) 208 rm -f $(DESTDIR)/etc/rc0.d/K04$(sysv_SCRIPTS) 209 -ln -s ../init.d/$(sysv_SCRIPTS) $(DESTDIR)/etc/rc0.d/K04$(sysv_SCRIPTS) 210 211uninstall-startup: 212 rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS) \ 213 $(DESTDIR)/etc/rc2.d/S90$(sysv_SCRIPTS) \ 214 $(DESTDIR)/etc/rc0.d/K04$(sysv_SCRIPTS) 215 216endif 217 218# 219# checking for "Gentoo" style sysv scripts: 220# 221 222if USE_GENTOO 223 224sysvdir = /etc/init.d 225sysv_SCRIPTS = netatalk 226 227$(sysv_SCRIPTS): rc.atalk.gentoo 228 cp -f rc.atalk.gentoo $(sysv_SCRIPTS) 229 chmod a+x $(sysv_SCRIPTS) 230 231install-data-hook: 232# -rc-update add $(sysv_SCRIPTS) default 233 234uninstall-startup: 235# -rc-update del $(sysv_SCRIPTS) default 236# rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS) 237 238endif 239 240# 241# checking for "Debian" style sysv scripts: 242# 243 244if USE_DEBIAN 245 246sysvdir = /etc/init.d 247sysv_SCRIPTS = netatalk 248 249$(sysv_SCRIPTS): rc.atalk.debian 250 cp -f rc.atalk.debian $(sysv_SCRIPTS) 251 chmod a+x $(sysv_SCRIPTS) 252 253install-data-hook: 254# update-rc.d $(sysv_SCRIPTS) defaults 90 10 255 256uninstall-startup: 257# rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS) 258# update-rc.d netatalk remove 259 260endif 261 262 263# 264# defaults, no init scripts installed 265# 266 267if USE_UNDEF 268 269install-data-hook: 270 271uninstall-hook: 272 273uninstall-startup: uninstall-am 274 275endif 276 277