X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile;h=e1a4b9fe2738bfa8ef2558d02aef06a3124b0ea9;hp=fffc3c4c15ea6cabf766203055c9fe55a88788dd;hb=04b49aab9addcc628381d187d0586c20a8c2cfad;hpb=396bb4c3d33dfd68c5817da5e03251fbd82e2713 diff --git a/Makefile b/Makefile index fffc3c4c1..e1a4b9fe2 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ INFO = udevinfo TESTER = udevtest STARTER = udevstart WAIT = wait_for_sysfs -VERSION = 038 +VERSION = 045 INSTALL_DIR = /usr/local/bin RELEASE_NAME = $(ROOT)-$(VERSION) LOCAL_CFG_DIR = etc/udev @@ -68,7 +68,8 @@ INSTALL_SCRIPT = ${INSTALL_PROGRAM} EXTRAS= # place to put our device nodes -udevdir = ${prefix}/udev +udevdir = ${prefix}/udev +udevdb = ${udevdir}/.udevdb # Comment out this line to build with something other # than the local version of klibc @@ -113,11 +114,6 @@ WARNINGS := -Wall CFLAGS := -pipe -# set up the proper tdb spinlock code if we can -ifeq ($(strip $(ARCH)),i386) - CFLAGS += -DUSE_SPINLOCKS -DINTEL_SPINLOCKS -endif - ifeq ($(strip $(USE_LOG)),true) CFLAGS += -DLOG endif @@ -137,6 +133,7 @@ endif # link udev against it statically. # Otherwise, use glibc and link dynamically. ifeq ($(strip $(USE_KLIBC)),true) + KLIBC_FIXUPS_DIR= $(PWD)/klibc_fixups KLIBC_BASE = $(PWD)/klibc KLIBC_DIR = $(KLIBC_BASE)/klibc INCLUDE_DIR := $(KLIBC_BASE)/include @@ -149,13 +146,15 @@ ifeq ($(strip $(USE_KLIBC)),true) CRT0 = $(KLIBC_DIR)/crt0.o LIBC = $(ARCH_LIB_OBJS) $(LIB_OBJS) $(CRT0) - CFLAGS += $(WARNINGS) -nostdinc \ - $(OPTFLAGS) \ - -D__KLIBC__ -fno-builtin-printf \ - -I$(INCLUDE_DIR) \ - -I$(INCLUDE_DIR)/arch/$(ARCH) \ - -I$(INCLUDE_DIR)/bits$(BITSIZE) \ - -I$(GCCINCDIR) \ + CFLAGS += $(WARNINGS) -nostdinc \ + $(OPTFLAGS) \ + -D__KLIBC__ -fno-builtin-printf \ + -I$(KLIBC_FIXUPS_DIR) \ + -include $(KLIBC_FIXUPS_DIR)/klibc_fixups.h \ + -I$(INCLUDE_DIR) \ + -I$(INCLUDE_DIR)/arch/$(ARCH) \ + -I$(INCLUDE_DIR)/bits$(BITSIZE) \ + -I$(GCCINCDIR) \ -I$(LINUX_INCLUDE_DIR) LIB_OBJS = LDFLAGS = --static --nostdlib -nostartfiles -nodefaultlibs @@ -173,7 +172,8 @@ ifeq ($(strip $(USE_SELINUX)),true) LIB_OBJS += -lselinux endif -CFLAGS += -I$(PWD)/libsysfs +CFLAGS += -I$(PWD)/libsysfs/sysfs \ + -I$(PWD)/libsysfs # config files automatically generated GEN_CONFIGS = $(LOCAL_CFG_DIR)/udev.conf @@ -197,9 +197,6 @@ $(CRT0): fi $(MAKE) -C klibc SUBDIRS=klibc -TDB = tdb/tdb.o \ - tdb/spinlock.o - SYSFS = $(PWD)/libsysfs/sysfs_bus.o \ $(PWD)/libsysfs/sysfs_class.o \ $(PWD)/libsysfs/sysfs_device.o \ @@ -212,26 +209,30 @@ OBJS = udev_lib.o \ udev_config.o \ udev_add.o \ udev_remove.o \ + udev_sysfs.o \ udevdb.o \ namedev.o \ namedev_parse.o \ dev_d.o \ - $(SYSFS) \ - $(TDB) + $(SYSFS) HEADERS = udev.h \ udev_lib.h \ namedev.h \ udev_version.h \ udevdb.h \ - klibc_fixups.h \ + udev_sysfs.h \ logging.h \ selinux.h \ list.h ifeq ($(strip $(USE_KLIBC)),true) - OBJS += klibc_fixups.o - KLIBC_FIXUP = klibc_fixups.o + HEADERS += klibc_fixups/klibc_fixups.h \ + klibc_fixups/mntent.h \ + klibc_fixups/pwd.h + + OBJS += klibc_fixups/klibc_fixups.o + KLIBC_FIXUP = klibc_fixups/klibc_fixups.o endif ifeq ($(strip $(V)),false) @@ -253,8 +254,8 @@ ccdv: udev_version.h: @echo "Creating udev_version.h" @echo \#define UDEV_VERSION \"$(VERSION)\" > $@ - @echo \#define UDEV_ROOT \"$(udevdir)/\" >> $@ - @echo \#define UDEV_DB \"$(udevdir)/.udev.tdb\" >> $@ + @echo \#define UDEV_ROOT \"$(udevdir)\" >> $@ + @echo \#define UDEV_DB \"$(udevdb)\" >> $@ @echo \#define UDEV_CONFIG_DIR \"$(configdir)\" >> $@ @echo \#define UDEV_CONFIG_FILE \"$(configdir)/udev.conf\" >> $@ @echo \#define UDEV_RULES_FILE \"$(configdir)/rules.d\" >> $@ @@ -291,7 +292,7 @@ $(TESTER): $(LIBC) $(TESTER).o $(OBJS) $(HEADERS) $(QUIET) $(STRIPCMD) $@ $(INFO): $(LIBC) $(INFO).o $(OBJS) $(HEADERS) - $(QUIET) $(LD) $(LDFLAGS) -o $@ $(CRT0) udevinfo.o udev_lib.o udev_config.o udevdb.o $(SYSFS) $(TDB) $(LIB_OBJS) $(ARCH_LIB_OBJS) + $(QUIET) $(LD) $(LDFLAGS) -o $@ $(CRT0) udevinfo.o udev_lib.o udev_config.o udevdb.o $(SYSFS) $(LIB_OBJS) $(ARCH_LIB_OBJS) $(QUIET) $(STRIPCMD) $@ $(DAEMON): $(LIBC) $(DAEMON).o $(OBJS) udevd.h @@ -303,7 +304,7 @@ $(SENDER): $(LIBC) $(SENDER).o $(OBJS) udevd.h $(QUIET) $(STRIPCMD) $@ $(WAIT): $(WAIT).o $(OBJS) $(HEADERS) $(LIBC) - $(QUIET) $(LD) $(LDFLAGS) -o $@ $(CRT0) $(WAIT).o $(SYSFS) $(LIB_OBJS) $(ARCH_LIB_OBJS) + $(QUIET) $(LD) $(LDFLAGS) -o $@ $(CRT0) $(WAIT).o udev_sysfs.o udev_lib.o udev_config.o $(SYSFS) $(LIB_OBJS) $(ARCH_LIB_OBJS) $(QUIET) $(STRIPCMD) $@ #.c.o: @@ -328,10 +329,10 @@ spotless: clean $(MAKE) -C klibc spotless -rm -f klibc/linux -DISTFILES = $(shell find . \( -not -name '.' \) -print | grep -v -e CVS -e "\.tar\.gz$" -e "\/\." -e releases -e BitKeeper -e SCCS -e "\.tdb$" -e test/sys | sort ) +DISTFILES = $(shell find . \( -not -name '.' \) -print | grep -v -e CVS -e "\.tar\.gz" -e "\/\." -e releases -e BitKeeper -e SCCS -e test/sys | sort ) DISTDIR := $(RELEASE_NAME) srcdir = . -release: clean +release: spotless -rm -rf $(DISTDIR) mkdir $(DISTDIR) chmod 777 $(DISTDIR) @@ -341,7 +342,7 @@ release: clean @echo "$(RELEASE_NAME).tar.gz created" -small_release: $(DISTFILES) clean +small_release: $(DISTFILES) spotless # @echo $(DISTFILES) @-rm -rf $(DISTDIR) @mkdir $(DISTDIR) @@ -420,8 +421,8 @@ install: install-initscript install-config install-man install-dev.d all - ln -f -s $(sbindir)/$(SENDER) $(DESTDIR)$(hotplugdir)/10-udev.hotplug - ln -f -s $(sbindir)/$(WAIT) $(DESTDIR)$(hotplugdir)/05-wait_for_sysfs.hotplug ifndef DESTDIR - - killall udevd - - rm -f $(udevdir)/.udev.tdb + - killall $(DAEMON) + - rm -rf $(udevdb) endif @extras="$(EXTRAS)" ; for target in $$extras ; do \ echo $$target ; \ @@ -447,10 +448,14 @@ uninstall: uninstall-man uninstall-dev.d - rm $(usrbindir)/$(TESTER) - rm $(usrbindir)/$(WAIT) - rmdir $(hotplugdir) - - rm $(udevdir)/.udev.tdb + - rm -rf $(udevdb) - rmdir $(udevdir) + - killall $(DAEMON) @extras="$(EXTRAS)" ; for target in $$extras ; do \ echo $$target ; \ $(MAKE) prefix=$(prefix) LD="$(LD)" SYSFS="$(SYSFS)" \ -C $$target $@ ; \ done ; \ + +test: all + @ cd test && ./udev-test.pl