X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile;h=9c95eeab85142957301fa6eef4df35b52dde033a;hp=a4bba06d55b5e528817cb773e1da5ecdc0dc9603;hb=e56f005817ab12a63e91fee06c3f967d55ee6c3c;hpb=d54fe24caa38ffc6e5dee7ef5cdcb3c24a882bf8 diff --git a/Makefile b/Makefile index a4bba06d5..9c95eeab8 100644 --- a/Makefile +++ b/Makefile @@ -33,9 +33,10 @@ USE_DBUS = false ROOT = udev DAEMON = udevd SENDER = udevsend -HELPER = udevinfo +INFO = udevinfo TESTER = udevtest -VERSION = 018_bk +STARTER = udevstart +VERSION = 020 INSTALL_DIR = /usr/local/bin RELEASE_NAME = $(ROOT)-$(VERSION) LOCAL_CFG_DIR = etc/udev @@ -50,6 +51,7 @@ prefix = exec_prefix = ${prefix} etcdir = ${prefix}/etc sbindir = ${exec_prefix}/sbin +usrbindir = ${exec_prefix}/usr/bin mandir = ${prefix}/usr/share/man hotplugdir = ${etcdir}/hotplug.d/default dbusdir = ${etcdir}/dbus-1/system.d @@ -73,6 +75,9 @@ udevdir = ${prefix}/udev # than the local version of klibc #USE_KLIBC = true +# set up PWD so that older versions of make will work with our build. +PWD = $(shell pwd) + # If you are running a cross compiler, you may want to set this # to something more interesting, like "arm-linux-". If you want # to compile vs uClibc, that can be done here as well. @@ -169,7 +174,7 @@ endif CFLAGS += -I$(PWD)/libsysfs -all: $(ROOT) $(SENDER) $(DAEMON) $(HELPER) $(TESTER) +all: $(ROOT) $(SENDER) $(DAEMON) $(INFO) $(TESTER) $(STARTER) @extras="$(EXTRAS)" ; for target in $$extras ; do \ echo $$target ; \ $(MAKE) prefix=$(prefix) \ @@ -224,6 +229,14 @@ ifeq ($(USE_DBUS), true) OBJS += udev_dbus.o endif +# if USE_SELINUX is enabled, then we do not strip or optimize +ifeq ($(strip $(USE_SELINUX)),true) + CFLAGS += -DUSE_SELINUX + OBJS += udev_selinux.o + LIB_OBJS += -lselinux +endif + + # header files automatically generated GEN_HEADERS = udev_version.h @@ -251,9 +264,10 @@ $(LOCAL_CFG_DIR)/udev.conf: $(OBJS): $(GEN_HEADERS) $(ROOT).o: $(GEN_HEADERS) $(TESTER).o: $(GEN_HEADERS) -$(HELPER).o: $(GEN_HEADERS) +$(INFO).o: $(GEN_HEADERS) $(DAEMON).o: $(GEN_HEADERS) $(SENDER).o: $(GEN_HEADERS) +$(STARTER).o: $(GEN_HEADERS) $(ROOT): $(ROOT).o $(OBJS) $(HEADERS) $(LIBC) $(LD) $(LDFLAGS) -o $@ $(CRT0) udev.o $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS) @@ -263,7 +277,7 @@ $(TESTER): $(TESTER).o $(OBJS) $(HEADERS) $(LIBC) $(LD) $(LDFLAGS) -o $@ $(CRT0) udevtest.o $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS) $(STRIPCMD) $@ -$(HELPER): $(HELPER).o $(OBJS) $(HEADERS) $(LIBC) +$(INFO): $(INFO).o $(OBJS) $(HEADERS) $(LIBC) $(LD) $(LDFLAGS) -o $@ $(CRT0) udevinfo.o udev_config.o udevdb.o $(SYSFS) $(TDB) $(LIB_OBJS) $(ARCH_LIB_OBJS) $(STRIPCMD) $@ @@ -275,10 +289,14 @@ $(SENDER): $(SENDER).o udevd.h $(LIBC) $(LD) $(LDFLAGS) -o $@ $(CRT0) udevsend.o $(LIB_OBJS) $(ARCH_LIB_OBJS) $(STRIPCMD) $@ +$(STARTER): $(STARTER).o $(HEADERS) $(LIBC) + $(LD) $(LDFLAGS) -o $@ $(CRT0) udevstart.o $(LIB_OBJS) $(ARCH_LIB_OBJS) + $(STRIPCMD) $@ + clean: -find . \( -not -type d \) -and \( -name '*~' -o -name '*.[oas]' \) -type f -print \ | xargs rm -f - -rm -f core $(ROOT) $(GEN_HEADERS) $(GEN_CONFIGS) $(HELPER) $(DAEMON) $(SENDER) + -rm -f core $(ROOT) $(GEN_HEADERS) $(GEN_CONFIGS) $(INFO) $(DAEMON) $(SENDER) $(TESTER) $(STARTER) $(MAKE) -C klibc clean @extras="$(EXTRAS)" ; for target in $$extras ; do \ echo $$target ; \ @@ -330,6 +348,15 @@ uninstall-dbus-policy: - endif +install-initscript: etc/init.d/udev etc/init.d/udev.debian etc/init.d/udev.init.LSB + @if [ -f /etc/redhat-release ]; then \ + $(INSTALL_DATA) -D etc/init.d/udev $(DESTDIR)$(initdir)/udev; \ + elif [ -f /etc/SuSE-release ]; then \ + $(INSTALL_DATA) -D etc/init.d/udev.init.LSB $(DESTDIR)$(initdir)/udev; \ + elif [ -f /etc/debian_version ]; then \ + $(INSTALL_DATA) -D etc/init.d/udev.debian $(DESTDIR)$(initdir)/udev; \ + fi + install-config: $(GEN_CONFIGS) $(INSTALL) -d $(DESTDIR)$(configdir) @if [ ! -r $(DESTDIR)$(configdir)udev.conf ]; then \ @@ -345,27 +372,25 @@ install-config: $(GEN_CONFIGS) $(INSTALL_DATA) $(LOCAL_CFG_DIR)/udev.permissions $(DESTDIR)$(configdir); \ fi -install: install-config install-dbus-policy all +install: install-initscript install-config install-dbus-policy all $(INSTALL) -d $(DESTDIR)$(udevdir) $(INSTALL) -d $(DESTDIR)$(hotplugdir) $(INSTALL_PROGRAM) -D $(ROOT) $(DESTDIR)$(sbindir)/$(ROOT) $(INSTALL_PROGRAM) -D $(DAEMON) $(DESTDIR)$(sbindir)/$(DAEMON) $(INSTALL_PROGRAM) -D $(SENDER) $(DESTDIR)$(sbindir)/$(SENDER) - $(INSTALL_PROGRAM) -D $(HELPER) $(DESTDIR)$(sbindir)/$(HELPER) + $(INSTALL_PROGRAM) -D $(INFO) $(DESTDIR)$(usrbindir)/$(INFO) $(INSTALL_PROGRAM) -D $(TESTER) $(DESTDIR)$(sbindir)/$(TESTER) - @if [ "x$(USE_LSB)" = "xtrue" ]; then \ - $(INSTALL_PROGRAM) -D etc/init.d/udev.init.LSB $(DESTDIR)$(initdir)/udev; \ - ln -s $(DESTDIR)$(initdir)/udev $(sbindir)/rcudev; \ - else \ - $(INSTALL_PROGRAM) -D etc/init.d/udev $(DESTDIR)$(initdir)/udev; \ - fi + $(INSTALL_PROGRAM) -D $(STARTER) $(DESTDIR)$(sbindir)/$(STARTER) $(INSTALL_DATA) -D udev.8 $(DESTDIR)$(mandir)/man8/udev.8 $(INSTALL_DATA) -D udevinfo.8 $(DESTDIR)$(mandir)/man8/udevinfo.8 + $(INSTALL_DATA) -D udevstart.8 $(DESTDIR)$(mandir)/man8/udevstart.8 $(INSTALL_DATA) -D udevd.8 $(DESTDIR)$(mandir)/man8/udevd.8 - - ln -f -s ./udevd.8 $(DESTDIR)$(mandir)/man8/udevsend.8 - - rm -f $(DESTDIR)$(hotplugdir)/$(ROOT).hotplug - - rm -f $(udevdir)/.udev.tdb + - ln -f -s udevd.8 $(DESTDIR)$(mandir)/man8/udevsend.8 - ln -f -s $(sbindir)/$(SENDER) $(DESTDIR)$(hotplugdir)/$(ROOT).hotplug +ifndef DESTDIR + - killall udevd + - rm -f $(udevdir)/.udev.tdb +endif @extras="$(EXTRAS)" ; for target in $$extras ; do \ echo $$target ; \ $(MAKE) prefix=$(prefix) LD="$(LD)" SYSFS="$(SYSFS)" \ @@ -383,7 +408,7 @@ uninstall: uninstall-dbus-policy - rm $(sbindir)/$(ROOT) - rm $(sbindir)/$(DAEMON) - rm $(sbindir)/$(SENDER) - - rm $(sbindir)/$(HELPER) + - rm $(usrbindir)/$(INFO) - rmdir $(hotplugdir) - rmdir $(configdir) - rm $(udevdir)/.udev.tdb