diff --git a/Makefile.am b/Makefile.am index 0e8dabc5..c80c633e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,27 +4,38 @@ finit_SOURCES = finit.c api.c client.c conf.c exec.c helpers.c pid.c \ sig.c svc.c service.c plugin.c tty.c cond.c cond-w.c sm.c pkginclude_HEADERS = cond.h finit.h helpers.h inetd.h plugin.h queue.h svc.h if INETD -finit_SOURCES += inetd.c +finit_SOURCES += inetd.c endif + finit_CFLAGS = -W -Wall -Wextra -std=gnu99 $(lite_CFLAGS) $(uev_CFLAGS) -finit_LDADD = -ldl $(lite_LIBS) $(uev_LIBS) +finit_LDADD = $(lite_LIBS) $(uev_LIBS) if STATIC finit_LDADD += plugins/libplug.la +else +finit_LDADD += -ldl endif + initctl_SOURCES = initctl.c svc.c helpers.c cond.c initctl_CFLAGS = $(lite_CFLAGS) initctl_LDADD = $(lite_LIBS) + reboot_SOURCES = reboot.c + SYMLINK = telinit init SUBDIRS = plugins doc_DATA = README.md LICENSE finit.conf services EXTRA_DIST = README.md LICENSE ChangeLog.md finit.conf services AM_CPPFLAGS = -U_FORTIFY_SOURCE AM_CPPFLAGS += -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_GNU_SOURCE -D_DEFAULT_SOURCE -AM_CPPFLAGS += -DFINIT_CONF=\"$(conf)\" -DFINIT_RCSD=\"$(rcsd)\" -DFINIT_FIFO=\"$(fifo)\" \ - -DPLUGIN_PATH=\"$(pkglibdir)\" -AM_LDFLAGS = -export-dynamic +AM_CPPFLAGS += -DFINIT_CONF=\"$(conf)\" -DFINIT_RCSD=\"$(rcsd)\" -DFINIT_FIFO=\"$(fifo)\" +if STATIC +AM_CPPFLAGS += -DENABLE_STATIC +AM_LDFLAGS = -static-libtool-libs +else +AM_CPPFLAGS += -DPLUGIN_PATH=\"$(pkglibdir)\" +AM_LDFLAGS = -export-dynamic +endif # Compat hook install-dev: install-pkgincludeHEADERS diff --git a/finit.c b/finit.c index dc60608b..c638cd4b 100644 --- a/finit.c +++ b/finit.c @@ -126,11 +126,13 @@ int main(int argc, char* argv[]) #endif run_interactive(SETUP_DEVFS, "Populating device tree"); +#ifndef ENABLE_STATIC /* * Load plugins first, finit.conf may contain references to * features implemented by plugins. */ plugin_load_all(&loop, PLUGIN_PATH); +#endif /* * Parse /etc/finit.conf, main configuration file