# Copyright 2007 NLnet Labs # See the file LICENSE for the license debug_enabled=@debug_enabled@ ifeq "$(QUIET)" "" ifeq ($(debug_enabled),yes) QUIET=yes else QUIET=no endif endif ifeq "$(QUIET)" "yes" Q=@ INFO=@echo else Q= INFO=@: endif SHELL=@SHELL@ VERSION=@PACKAGE_VERSION@ PYTHON=@PYTHON@ srcdir=@srcdir@ prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ sbindir=@sbindir@ mandir=@mandir@ libdir=@libdir@ libexecdir=@libexecdir@ # datarootdir is here to please some checkers, use datadir. datarootdir=@datarootdir@ datadir=@datadir@ includedir=@includedir@ ldnsdir=@ldnsdir@ EXEEXT=@EXEEXT@ hooks=@hooks@ makehook=@hooks@-hook installhook=@hooks@-hook-install uninstallhook=@hooks@-hook-uninstall gui=@gui@ makegui=@gui@-gui installgui=@gui@-gui-install uninstallgui=@gui@-gui-uninstall networkmanager_dispatcher_dir=@networkmanager_dispatcher_dir@ netconfig_dispatcher_dir=@netconfig_dispatcher_dir@ xdg_autostart_dir=@xdg_autostart_dir@ osx_launchagents_dir=/Library/LaunchAgents osx_launchdaemons_dir=/Library/LaunchDaemons configfile=@configfile@ keydir=@keydir@ uidir=@uidir@ pidfile=@pidfile@ login_command=@login_command@ login_location=@login_location@ unbound_control_path=@unbound_control_path@ DATE=$(shell date +%F -r $(srcdir)/Changelog) do_subst = sed -e 's,[@]SHELL[@],$(SHELL),g' \ -e 's,[@]PACKAGE[@],$(PACKAGE),g' \ -e 's,[@]VERSION[@],$(VERSION),g' \ -e 's,[@]PYTHON[@],$(PYTHON),g' \ -e 's,[@]libexecdir[@],$(libexecdir),g' \ -e 's,[@]sbindir[@],$(sbindir),g' \ -e 's,[@]keydir[@],$(keydir),g' \ -e 's,[@]pidfile[@],$(pidfile),g' \ -e 's,[@]unbound_control_path[@],$(unbound_control_path),g' \ -e 's,[@]login_command[@],$(login_command),g' \ -e 's,[@]login_location[@],$(login_location),g' \ -e 's,[@]check_updates[@],$(check_updates),g' \ -e 's,[@]DATE[@],$(DATE),g' \ -e 's,[@]configfile[@],$(configfile),g' \ -e 's,[@]bindir[@],$(bindir),g' \ -e 's,[@]uidir[@],$(uidir),g' # override $U variable which is used by autotools for deansification (for # K&R C compilers), but causes problems if $U is defined in the env). U= YACC=@YACC@ LEX=@LEX@ STRIP=@STRIP@ CC=@CC@ CPPFLAGS=-I. @CPPFLAGS@ ifneq "$(srcdir)" "." CPPFLAGS:=-I$(srcdir) $(CPPFLAGS) endif CPPFLAGS:=$(strip $(CPPFLAGS)) GTK_CFLAGS=@GTK_CFLAGS@ CFLAGS=@CFLAGS@ $(GTK_CFLAGS) LDFLAGS=@LDFLAGS@ GTK_LIBS=@GTK_LIBS@ LDNSLIBS=@LDNSLIBS@ APP_INDICATOR=@APP_INDICATOR@ LIBS=$(strip @LIBS@) LIBOBJS=@LIBOBJS@ RUNTIME_PATH=@RUNTIME_PATH@ DEPFLAG=@DEPFLAG@ EXPORT_DYNAMIC=@EXPORT_DYNAMIC@ DATE=$(shell date +%Y%m%d) BUILD=build/ WINDRES=@WINDRES@ LINT=splint LINTFLAGS=+quiet -weak -warnposix -unrecog -Din_addr_t=uint32_t -Du_int=unsigned -Du_char=uint8_t -preproc -Drlimit=rlimit64 -D__gnuc_va_list=va_list #-Dglob64=glob -Dglobfree64=globfree # compat with openssl linux edition. LINTFLAGS+="-DBN_ULONG=unsigned long" -Dkrb5_int32=int "-Dkrb5_ui_4=unsigned int" -DPQ_64BIT=uint64_t -DRC4_INT=unsigned -fixedformalarray -D"ENGINE=unsigned" -D"RSA=unsigned" -D"DSA=unsigned" -D"EVP_PKEY=unsigned" -D"EVP_MD=unsigned" -D"SSL=unsigned" -D"SSL_CTX=unsigned" -D"X509=unsigned" -D"RC4_KEY=unsigned" -D"EVP_MD_CTX=unsigned" # compat with NetBSD ifeq "$(shell uname)" "NetBSD" LINTFLAGS+="-D__RENAME(x)=" -D_NETINET_IN_H_ endif # compat with OpenBSD LINTFLAGS+="-Dsigset_t=long" # FreeBSD8 LINTFLAGS+="-D__uint16_t=uint16_t" INSTALL=$(srcdir)/install-sh COMMON_SRC= COMMON_OBJ=$(addprefix $(BUILD),$(COMMON_SRC:.c=.o)) COMPAT_SRC=$(addprefix compat/,$(LIBOBJS:.o=.c)) COMPAT_OBJ=$(addprefix $(BUILD)compat/,$(LIBOBJS:.o=.o)) ifeq "$(gui)" "gtk" PANEL_SRC=panel/panel.c panel/attach.c riggerd/cfg.c riggerd/log.c riggerd/net_help.c else ifeq "$(gui)" "windows" # GTK works on windows but has large dependencies PANEL_SRC=winrc/trayicon.c panel/attach.c riggerd/cfg.c riggerd/log.c riggerd/net_help.c else PANEL_SRC= endif endif PANEL_OBJ=$(addprefix $(BUILD),$(PANEL_SRC:.c=.o)) $(COMPAT_OBJ) CONTROL_SRC=dnssec-trigger-control.c riggerd/cfg.c riggerd/log.c riggerd/net_help.c CONTROL_OBJ=$(addprefix $(BUILD),$(CONTROL_SRC:.c=.o)) $(COMPAT_OBJ) ifeq "$(hooks)" "windows" KEYGEN_SRC=winrc/dnssec-trigger-keygen.c else KEYGEN_SRC= endif KEYGEN_OBJ=$(addprefix $(BUILD),$(KEYGEN_SRC:.c=.o)) $(COMPAT_OBJ) RIGGERD_SRC=riggerd/riggerd.c riggerd/log.c riggerd/netevent.c riggerd/rbtree.c riggerd/mini_event.c riggerd/net_help.c riggerd/winsock_event.c riggerd/fptr_wlist.c riggerd/cfg.c riggerd/svr.c riggerd/probe.c riggerd/ubhook.c riggerd/reshook.c riggerd/http.c riggerd/update.c ifeq "$(hooks)" "windows" RIGGERD_SRC+=winrc/netlist.c winrc/win_svc.c winrc/w_inst.c endif ifeq "$(hooks)" "osx" RIGGERD_SRC+=osx/wakelist.c LDNSLIBS+=-framework IOKit -framework CoreFoundation endif RIGGERD_OBJ=$(addprefix $(BUILD),$(RIGGERD_SRC:.c=.o)) $(COMPAT_OBJ) ALL_SRC=$(sort $(COMMON_SRC) $(PANEL_SRC) $(RIGGERD_SRC) $(KEYGEN_SRC) $(CONTROL_SRC)) ALL_OBJ=$(addprefix $(BUILD),$(ALL_SRC:.c=.o) \ $(addprefix compat/,$(LIBOBJS:.o=.o))) $(COMPAT_OBJ) PANEL_LINKFLAGS= ifeq "$(hooks)" "windows" PANEL_LINKFLAGS+=-Wl,--subsystem,windows -lcomctl32 -lgdi32 PANEL_OBJ+=$(BUILD)winrc/rsrc_panel.o RIGGERD_OBJ+=$(BUILD)winrc/rsrc_triggerd.o KEYGEN_OBJ+=$(BUILD)winrc/rsrc_keygen.o CONTROL_OBJ+=$(BUILD)winrc/rsrc_control.o $(BUILD)%.o: $(srcdir)/%.rc $(srcdir)/config.h $(INFO) Resource $< @-if test ! -d $(dir $@); then $(INSTALL) -d $(patsubst %/,%,$(dir $@)); fi $Q$(WINDRES) $(CPPFLAGS) $< $@ endif COMPILE=$(CC) $(CPPFLAGS) $(CFLAGS) LINK=$(strip $(CC) $(RUNTIME_PATH) $(CFLAGS) $(LDFLAGS)) .PHONY: clean realclean doc lint all install uninstall test strip $(BUILD)%.o: $(srcdir)/%.c $(INFO) Build $< @-if test ! -d $(dir $@); then $(INSTALL) -d $(patsubst %/,%,$(dir $@)); fi $Q$(COMPILE) -o $@ -c $< all: $(COMMON_OBJ) dnssec-triggerd$(EXEEXT) dnssec-trigger-control$(EXEEXT) dnssec-trigger-control-setup $(makehook) $(makegui) example.conf dnssec-trigger.8 dnssec-triggerd.service test: @echo done example.conf: $(srcdir)/example.conf.in Makefile rm -f $@ $(do_subst) < $(srcdir)/example.conf.in > $@ dnssec-trigger.8: $(srcdir)/dnssec-trigger.8.in Makefile rm -f $@ $(do_subst) < $(srcdir)/dnssec-trigger.8.in > $@ dnssec-trigger-control-setup: $(srcdir)/dnssec-trigger-control-setup.sh.in Makefile rm -f $@ $(do_subst) < $(srcdir)/dnssec-trigger-control-setup.sh.in > $@ chmod +x $@ 01-dnssec-trigger: $(srcdir)/01-dnssec-trigger.in Makefile rm -f $@ $(do_subst) < $(srcdir)/01-dnssec-trigger.in > $@ chmod +x $@ dnssec-triggerd.service: $(srcdir)/dnssec-triggerd.service.in Makefile rm -f $@ $(do_subst) < $(srcdir)/dnssec-triggerd.service.in > $@ dnssec-trigger-panel.desktop: $(srcdir)/panel/dnssec-trigger-panel.desktop.in Makefile rm -f $@ $(do_subst) < $(srcdir)/panel/dnssec-trigger-panel.desktop.in > $@ windows-gui: dnssec-trigger-panel$(EXEEXT) gtk-gui: dnssec-trigger-panel$(EXEEXT) dnssec-trigger-panel.desktop cocoa-gui: osx/RiggerStatusItem osx/osx-riggerapp nl.nlnetlabs.dnssec-trigger-panel.plist none-hook: @echo "no dhcp hooks available, need trigger script" windows-hook: dnssec-trigger-keygen$(EXEEXT) networkmanager-hook: 01-dnssec-trigger dnssec-trigger-script dnssec-trigger-script: $(srcdir)/dnssec-trigger-script.in Makefile cp $< $@ $(do_subst) < $(srcdir)/dnssec-trigger-script.in > $@ chmod +x $@ osx/RiggerStatusItem/log.c: $(srcdir)/riggerd/log.c osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/cfg.c: $(srcdir)/riggerd/cfg.c osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/net_help.c: $(srcdir)/riggerd/net_help.c osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/osxattach.m: $(srcdir)/panel/attach.c osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/osxattach.h: $(srcdir)/panel/attach.h osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/log.h: $(srcdir)/riggerd/log.h osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/cfg.h: $(srcdir)/riggerd/cfg.h osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/net_help.h: $(srcdir)/riggerd/net_help.h osx/RiggerStatusItem cp $< $@ osx/RiggerStatusItem/config.h: $(srcdir)/config.h osx/RiggerStatusItem cp $< $@ ifeq "$(srcdir)" "." osx/RiggerStatusItem: else osx/RiggerStatusItem: $(srcdir)/osx/RiggerStatusItem -mkdir osx cp -r $< $@ endif osx/RiggerStatusItem/RiggerStatusItem.xcodeproj/project.pbxproj: $(srcdir)/osx/RiggerStatusItem/RiggerStatusItem.xcodeproj/project.pbxproj.in $(srcdir)/osx/RiggerStatusItem sed -e "s?@OSX_SSL_INCLUDE@?@ssldir@/include?" -e "s?@OSX_SSL_LIB@?@ssldir@/lib?" < $< > $@ osx/osx-riggerapp: osx/RiggerStatusItem osx/RiggerStatusItem/cfg.c osx/RiggerStatusItem/cfg.h osx/RiggerStatusItem/net_help.c osx/RiggerStatusItem/net_help.h osx/RiggerStatusItem/log.c osx/RiggerStatusItem/log.h osx/RiggerStatusItem/config.h osx/RiggerStatusItem/main.m osx/RiggerStatusItem/RiggerApp.h osx/RiggerStatusItem/RiggerApp.m osx/RiggerStatusItem/osxattach.h osx/RiggerStatusItem/osxattach.m osx/RiggerStatusItem/RiggerStatusItem.xcodeproj/project.pbxproj (cd osx/RiggerStatusItem; xcodebuild -project RiggerStatusItem.xcodeproj -alltargets) touch osx/osx-riggerapp osx-hook: nl.nlnetlabs.dnssec-trigger-hook.plist dnssec-trigger-osx.sh nl.nlnetlabs.dnssec-triggerd.plist dnssec-trigger-setdns.sh nl.nlnetlabs.dnssec-trigger-hook.plist: $(srcdir)/osx/nl.nlnetlabs.dnssec-trigger-hook.plist.in Makefile rm -f $@ $(do_subst) < $(srcdir)/osx/nl.nlnetlabs.dnssec-trigger-hook.plist.in > $@ nl.nlnetlabs.dnssec-trigger-panel.plist: $(srcdir)/osx/nl.nlnetlabs.dnssec-trigger-panel.plist.in Makefile rm -f $@ $(do_subst) < $(srcdir)/osx/nl.nlnetlabs.dnssec-trigger-panel.plist.in > $@ nl.nlnetlabs.dnssec-triggerd.plist: $(srcdir)/osx/nl.nlnetlabs.dnssec-triggerd.plist.in Makefile rm -f $@ $(do_subst) < $(srcdir)/osx/nl.nlnetlabs.dnssec-triggerd.plist.in > $@ dnssec-trigger-osx.sh: $(srcdir)/osx/dnssec-trigger-osx.sh.in Makefile rm -f $@ $(do_subst) < $(srcdir)/osx/dnssec-trigger-osx.sh.in > $@ chmod +x $@ dnssec-trigger-setdns.sh: $(srcdir)/osx/dnssec-trigger-setdns.sh.in Makefile rm -f $@ $(do_subst) < $(srcdir)/osx/dnssec-trigger-setdns.sh.in > $@ chmod +x $@ netconfig-hook: dnssec-trigger-netconfig-hook dnssec-trigger-netconfig-hook: $(srcdir)/dnssec-trigger-netconfig-hook.sh.in Makefile rm -f $@ $(do_subst) < $(srcdir)/dnssec-trigger-netconfig-hook.sh.in > $@ chmod +x $@ dnssec-triggerd$(EXEEXT): $(RIGGERD_OBJ) $(INFO) Link $@ $Q$(LINK) -o $@ $(sort $(RIGGERD_OBJ)) $(LDNSLIBS) $(LIBS) dnssec-trigger-control$(EXEEXT): $(CONTROL_OBJ) $(INFO) Link $@ $Q$(LINK) -o $@ $(sort $(CONTROL_OBJ)) $(LIBS) dnssec-trigger-keygen$(EXEEXT): $(KEYGEN_OBJ) $(INFO) Link $@ $Q$(LINK) -o $@ $(sort $(KEYGEN_OBJ)) $(LIBS) dnssec-trigger-panel$(EXEEXT): $(PANEL_OBJ) $(INFO) Link $@ $Q$(LINK) $(EXPORT_DYNAMIC) -o $@ $(sort $(PANEL_OBJ)) $(LIBS) $(GTK_LIBS) $(PANEL_LINKFLAGS) util/config_file.c: util/configparser.h util/configlexer.c: $(srcdir)/util/configlexer.lex util/configparser.h $(INFO) Lex $< ifeq "$(strip $(LEX))" ":" $Qecho "rebuild lexer, but no lex program, skipped" else @-if test ! -d util; then $(INSTALL) -d util; fi $Qecho "#include \"config.h\"" > $@ $Qecho "#include \"util/configyyrename.h\"" >> $@ $Q$(LEX) -t $< >> $@ endif util/configparser.c util/configparser.h: $(srcdir)/util/configparser.y $(INFO) Yacc $< @-if test ! -d util; then $(INSTALL) -d util; fi $Q$(YACC) -d -o util/configparser.c $< clean: rm -f *.o *.d *.lo *~ tags rm -f dnssec-trigger-panel$(EXEEXT) dnssec-triggerd$(EXEEXT) rm -f dnssec-trigger-control-setup dnssec-trigger-control$(EXEEXT) rm -f 01-dnssec-trigger dnssec-trigger-script dnssec-trigger-osx.sh nl.nlnetlabs.dnssec-trigger-hook.plist dnssec-trigger-netconfig-hook example.conf nl.nlnetlabs.dnssec-triggerd.plist nl.nlnetlabs.dnssec-trigger-panel.plist dnssec-trigger-setdns.sh osx/osx-riggerapp dnssec-triggerd.service osx/RiggerStatusItem/RiggerStatusItem.xcodeproj/project.pbxproj rm -f dnssec-trigger-panel.desktop dnssec-trigger.8 dnssec-trigger-keygen$(EXEEXT) rm -rf autom4te.cache build osx/RiggerStatusItem/build realclean: clean rm -f config.status config.log config.h.in config.h rm -f util/configlexer.c util/configparser.c util/configparser.h rm -f Makefile configure $(BUILD)%.lint: $(srcdir)/%.c $(INFO) Lint $< @-if test ! -d $(dir $@); then $(INSTALL) -d $(patsubst %/,%,$(dir $@)); fi $Q$(LINT) $(LINTFLAGS) -I. -I$(srcdir) -I$(ldnsdir)/include $< $Qtouch $@ lint: $(addprefix $(BUILD),$(filter-out panel/attach.lint,$(filter-out panel/panel.lint,$(filter-out util/configparser.lint,$(filter-out util/configlexer.lint,$(sort $(ALL_SRC:.c=.lint))))))) tags: $(srcdir)/*.[ch] $(srcdir)/*/*.[ch] ctags -f $(srcdir)/tags $(srcdir)/*.[ch] $(srcdir)/*/*.[ch] strip: $(STRIP) dnssec-triggerd$(EXEEXT) $(STRIP) dnssec-trigger-control$(EXEEXT) if test -f dnssec-trigger-panel$(EXEEXT); then $(STRIP) dnssec-trigger-panel$(EXEEXT); fi if test -f dnssec-trigger-keygen$(EXEEXT); then $(STRIP) dnssec-trigger-keygen$(EXEEXT); fi none-hook-install: @echo "no hook to install" none-hook-uninstall: @echo "no hook to uninstall" windows-hook-install: @echo "Use makedist-makensis for windows hook install" windows-hook-uninstall: @echo "Use makedist-makensis for windows hook uninstall" networkmanager-hook-install: $(INSTALL) -m 755 -d $(DESTDIR)$(networkmanager_dispatcher_dir) $(INSTALL) -m 755 -d $(DESTDIR)/etc $(INSTALL) -m 755 -d $(DESTDIR)/usr/lib/systemd/system $(INSTALL) -c -m 755 01-dnssec-trigger $(DESTDIR)$(networkmanager_dispatcher_dir)/01-dnssec-trigger $(INSTALL) -c -m 755 dnssec-trigger-script $(DESTDIR)$(libexecdir)/dnssec-trigger-script $(INSTALL) -c -m 644 dnssec.conf $(DESTDIR)/etc/dnssec.conf $(INSTALL) -c -m 644 dnssec-triggerd.service $(DESTDIR)/usr/lib/systemd/system/dnssec-triggerd.service $(INSTALL) -c -m 644 dnssec-triggerd-keygen.service $(DESTDIR)/usr/lib/systemd/system/dnssec-triggerd-keygen.service networkmanager-hook-uninstall: @echo "attempt to restore resolv.conf mutability" $(DESTDIR)$(sbindir)/dnssec-triggerd$(EXEEXT) -u rm -f $(DESTDIR)$(networkmanager_dispatcher_dir)/01-dnssec-trigger rm -f $(DESTDIR)$(libexecdir)/dnssec-trigger-script rm -f $(DESTDIR)/etc/dnssec.conf rm -f $(DESTDIR)/usr/lib/systemd/system/dnssec-triggerd.service rm -f $(DESTDIR)/usr/lib/systemd/system/dnssec-triggerd-keygen.service osx-hook-install: $(INSTALL) -m 755 -d $(DESTDIR)$(osx_launchdaemons_dir) $(INSTALL) -m 755 -d $(DESTDIR)$(libexecdir) $(INSTALL) -c -m 644 nl.nlnetlabs.dnssec-trigger-hook.plist $(DESTDIR)$(osx_launchdaemons_dir)/nl.nlnetlabs.dnssec-trigger-hook.plist $(INSTALL) -c -m 755 dnssec-trigger-osx.sh $(DESTDIR)$(libexecdir)/dnssec-trigger-osx.sh $(INSTALL) -c -m 755 dnssec-trigger-setdns.sh $(DESTDIR)$(libexecdir)/dnssec-trigger-setdns.sh $(INSTALL) -c -m 644 nl.nlnetlabs.dnssec-triggerd.plist $(DESTDIR)$(osx_launchdaemons_dir)/nl.nlnetlabs.dnssec-triggerd.plist @echo "To start the daemon, trigger and panel you can reboot; (after dnssec-trigger-control-setup)" osx-hook-uninstall: @echo "attempt to remove dns override from system preferences" $(DESTDIR)$(libexecdir)/dnssec-trigger-setdns.sh uninit rm -f $(DESTDIR)$(osx_launchdaemons_dir)/nl.nlnetlabs.dnssec-trigger-hook.plist rm -f $(DESTDIR)$(libexecdir)/dnssec-trigger-osx.sh rm -f $(DESTDIR)$(libexecdir)/dnssec-trigger-setdns.sh rm -f $(DESTDIR)$(osx_launchdaemons_dir)/nl.nlnetlabs.dnssec-triggerd.plist if test "`uname -r | cut -d . -f 1`" -lt 9; then \ echo "there is no way to delete dnssec-trigger-panel from Library/Preferences/com.apple.loginwindow.plist with the defaults tool." ; \ echo "you have to manually remove it (from the accounts-LoginItems controlpanel pane)" ; \ fi cocoa-gui-install: $(INSTALL) -m 755 -d $(DESTDIR)$(osx_launchagents_dir) $(INSTALL) -m 755 -d $(DESTDIR)$(libexecdir) if test "`uname -r | cut -d . -f 1`" -lt 9; then \ echo "install the panel to launch for the user, goes into Library/Preferences/com.apple.loginwindow.plist." ; \ defaults write loginwindow AutoLaunchedApplicationDictionary -array-add "HidePath$(libexecdir)/RiggerStatusItem.app/Contents/MacOS/RiggerStatusItem" ; \ else \ echo "install panel in osx 10.5 and later mode" ; \ $(INSTALL) -c -m 644 nl.nlnetlabs.dnssec-trigger-panel.plist $(DESTDIR)$(osx_launchagents_dir)/nl.nlnetlabs.dnssec-trigger-panel.plist ; \ fi (umask 0022 ; cp -r osx/RiggerStatusItem/build/Release/RiggerStatusItem.app $(DESTDIR)$(libexecdir)/. ) cocoa-gui-uninstall: rm -f $(DESTDIR)$(osx_launchagents_dir)/nl.nlnetlabs.dnssec-trigger-panel.plist rm -rf $(DESTDIR)$(libexecdir)/RiggerStatusItem.app netconfig-hook-install: $(INSTALL) -m 755 -d $(DESTDIR)$(netconfig_dispatcher_dir) $(INSTALL) -c -m 755 dnssec-trigger-netconfig-hook $(DESTDIR)$(netconfig_dispatcher_dir)/dnssec-trigger-netconfig-hook netconfig-hook-uninstall: @echo "attempt to restore resolv.conf mutability" $(DESTDIR)$(sbindir)/dnssec-triggerd$(EXEEXT) -u rm -f $(DESTDIR)$(netconfig_dispatcher_dir)/dnssec-trigger-netconfig-hook windows-gui-install: $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) $(INSTALL) -m 755 -d $(DESTDIR)$(uidir) $(INSTALL) -c -m 755 dnssec-trigger-panel$(EXEEXT) $(DESTDIR)$(bindir)/dnssec-trigger-panel$(EXEEXT) $(INSTALL) -c -m 644 $(srcdir)/winrc/alert.ico $(DESTDIR)$(uidir)/alert.ico $(INSTALL) -c -m 644 $(srcdir)/winrc/status.ico $(DESTDIR)$(uidir)/status.ico windows-gui-uninstall: rm -f $(DESTDIR)$(bindir)/dnssec-trigger-panel$(EXEEXT) rm -f $(DESTDIR)$(uidir)/alert.ico rm -f $(DESTDIR)$(uidir)/status.ico gtk-gui-install: $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) $(INSTALL) -m 755 -d $(DESTDIR)$(uidir) $(INSTALL) -c -m 644 $(srcdir)/panel/pui.xml $(DESTDIR)$(uidir)/pui.xml $(INSTALL) -c -m 644 $(srcdir)/panel/status-icon.png $(DESTDIR)$(uidir)/status-icon.png $(INSTALL) -c -m 644 $(srcdir)/panel/status-icon-alert.png $(DESTDIR)$(uidir)/status-icon-alert.png $(INSTALL) -c -m 755 dnssec-trigger-panel$(EXEEXT) $(DESTDIR)$(bindir)/dnssec-trigger-panel$(EXEEXT) ifeq "$(APP_INDICATOR)" "yes" $(INSTALL) -m 755 -d $(DESTDIR)/usr/share/icons/hicolor/scalable/apps $(INSTALL) -m 755 -d $(DESTDIR)/usr/share/icons/hicolor/64x64/apps $(INSTALL) -c -m 644 $(srcdir)/panel/status-icon.svg $(DESTDIR)/usr/share/icons/hicolor/scalable/apps/dnssec-trigger.svg $(INSTALL) -c -m 644 $(srcdir)/panel/status-icon-alert.svg $(DESTDIR)/usr/share/icons/hicolor/scalable/apps/dnssec-trigger-alert.svg $(INSTALL) -c -m 644 $(srcdir)/panel/status-icon.png $(DESTDIR)/usr/share/icons/hicolor/64x64/apps/dnssec-trigger.png $(INSTALL) -c -m 644 $(srcdir)/panel/status-icon-alert.png $(DESTDIR)/usr/share/icons/hicolor/64x64/apps/dnssec-trigger-alert.png gtk-update-icon-cache $(DESTDIR)/usr/share/icons/hicolor endif if test -n "$(xdg_autostart_dir)"; then \ $(INSTALL) -m 755 -d $(DESTDIR)$(xdg_autostart_dir) ; \ $(INSTALL) -c -m 644 dnssec-trigger-panel.desktop $(DESTDIR)$(xdg_autostart_dir)/dnssec-trigger-panel.desktop ; fi gtk-gui-uninstall: rm -f $(DESTDIR)$(bindir)/dnssec-trigger-panel$(EXEEXT) rm -f $(DESTDIR)$(uidir)/pui.xml rm -f $(DESTDIR)$(uidir)/status-icon.png rm -f $(DESTDIR)$(uidir)/status-icon-alert.png ifeq "$(APP_INDICATOR)" "yes" rm -f $(DESTDIR)/usr/share/icons/hicolor/scalable/apps/dnssec-trigger.svg rm -f $(DESTDIR)/usr/share/icons/hicolor/scalable/apps/dnssec-trigger-alert.svg rm -f $(DESTDIR)/usr/share/icons/hicolor/64x64/apps/dnssec-trigger.png rm -f $(DESTDIR)/usr/share/icons/hicolor/64x64/apps/dnssec-trigger-alert.png gtk-update-icon-cache $(DESTDIR)/usr/share/icons/hicolor endif if test -n "$(xdg_autostart_dir)"; then \ rm -f $(DESTDIR)$(xdg_autostart_dir)/dnssec-trigger-panel.desktop ; fi install: all $(installgui) $(installhook) $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir) $(INSTALL) -m 755 -d $(DESTDIR)$(mandir) $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man8 $(INSTALL) -m 755 -d $(DESTDIR)$(keydir) -$(INSTALL) -m 755 -d "`dirname $(DESTDIR)$(pidfile)`" $(INSTALL) -c -m 644 dnssec-trigger.8 $(DESTDIR)$(mandir)/man8/dnssec-trigger.8 $(INSTALL) -c -m 755 dnssec-trigger-control-setup $(DESTDIR)$(sbindir)/dnssec-trigger-control-setup $(INSTALL) -c -m 755 dnssec-trigger-control$(EXEEXT) $(DESTDIR)$(sbindir)/dnssec-trigger-control$(EXEEXT) $(INSTALL) -c -m 755 dnssec-triggerd$(EXEEXT) $(DESTDIR)$(sbindir)/dnssec-triggerd$(EXEEXT) if test ! -f $(DESTDIR)/etc/resolv.conf~ -a -f $(DESTDIR)/etc/resolv.conf; then \ cp $(DESTDIR)/etc/resolv.conf $(DESTDIR)/etc/resolv.conf~; fi if test ! -f $(DESTDIR)$(configfile); then \ $(INSTALL) -c -m 644 example.conf $(DESTDIR)$(configfile); fi @if test ! -f $(DESTDIR)$(keydir)/dnssec-trigger_server.key; then echo "It is probably good to run dnssec-trigger-control-setup to generate keys now, and possibly run dnssec-trigger-control-setup -i to edit unbound.conf if it does not have a trust anchor and remote-control"; fi @if test -f $(DESTDIR)$(configfile); then \ if grep "ssl443" $(DESTDIR)$(configfile) >/dev/null; then : ; else echo "You should update your config file ($(DESTDIR)$(configfile)) with the ssl443 settings from the example.conf."; fi; fi uninstall: $(uninstallgui) $(uninstallhook) rm -f $(DESTDIR)$(mandir)/man8/dnssec-trigger.8 rm -f $(DESTDIR)$(sbindir)/dnssec-trigger-control-setup rm -f $(DESTDIR)$(sbindir)/dnssec-trigger-control$(EXEEXT) rm -f $(DESTDIR)$(sbindir)/dnssec-triggerd$(EXEEXT) chmod 644 /etc/resolv.conf if test -f $(DESTDIR)/etc/resolv.conf~; then \ cp $(DESTDIR)/etc/resolv.conf~ $(DESTDIR)/etc/resolv.conf; fi @echo @echo "You still need to remove ssl keys from $(DESTDIR)$(keydir) and $(DESTDIR)$(configfile) by hand" # Automatic dependencies. $(BUILD)%.d: $(srcdir)/%.c $(INFO) Depend $< @-if test ! -d $(dir $@); then $(INSTALL) -d $(patsubst %/,%,$(dir $@)); fi $Q$(SHELL) -ec '$(CC) $(DEPFLAG) $(CPPFLAGS) $(CFLAGS) $< | sed '\''s!\(.*\)\.o[ :]*!$(dir $@)\1.o $@ : !g'\'' > $@; [ -s $@ ] || rm -f $@' ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),realclean) ifeq ($(debug_enabled),yes) -include $(addprefix $(BUILD),$(ALL_SRC:.c=.d) $(COMPAT_SRC:.c=.d)) endif endif endif