mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 05:22:48 +07:00
This patch adresses issue #5. However, there still remains a few issues to work around before Finit can be built completely standalone. $ make clean all STATIC=1 LINK finit helpers.o: In function `getgroup': helpers.c:(.text+0x10a7): warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking helpers.o: In function `getuser': helpers.c:(.text+0x108e): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking inetd.o: In function `getent': inetd.c:(.text+0x127): warning: Using 'getprotobyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking inetd.c:(.text+0xce): warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking The problem is the NSS plugins and similar issues that prevent static linking when using the above functions. See issue #5 for more on this. Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
40 lines
970 B
Makefile
40 lines
970 B
Makefile
# Plugin based services architecture for finit
|
|
CFLAGS += -fPIC -Os
|
|
CPPFLAGS += -I..
|
|
LDFLAGS := $(filter-out -rdynamic, $(LDFLAGS))
|
|
LDFLAGS += -shared
|
|
ifneq ($(STATIC), 1)
|
|
PLUGINS ?= initctl.so alsa-utils.so bootmisc.so dbus.so hwclock.so \
|
|
resolvconf.so urandom.so x11-common.so tty.so time.so
|
|
DEPS = $(addprefix .,$(PLUGINS:.so=.d))
|
|
endif
|
|
TOPDIR ?= $(shell pwd)
|
|
|
|
include ../common.mk
|
|
|
|
all: $(PLUGINS)
|
|
|
|
clean:
|
|
-@$(RM) $(PLUGINS) *.o
|
|
|
|
distclean: clean
|
|
-@$(RM) $(JUNK) $(DEPS)
|
|
|
|
install: all
|
|
@install -d $(DESTDIR)$(plugindir)
|
|
@for plugin in $(PLUGINS); do \
|
|
echo " INSTALL $(DESTDIR)$(plugindir)/$$plugin"; \
|
|
$(STRIPINST) $$plugin $(DESTDIR)$(plugindir)/$$plugin; \
|
|
done
|
|
|
|
uninstall:
|
|
-@for plugin in $(PLUGINS); do \
|
|
echo " RM $(DESTDIR)$(plugindir)/$$plugin"; \
|
|
rm $(DESTDIR)$(plugindir)/$$plugin 2>/dev/null; \
|
|
done
|
|
-@rmdir $(DESTDIR)$(plugindir) 2>/dev/null
|
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
-include $(DEPS)
|
|
endif
|