X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile;h=dc907f6a81e55e9738402d431495ceca9c5fab10;hp=52c1d47b2d76ab1126f34bab7c5f1c8480d1dc76;hb=7979e3d4b7c56acee2fe0e9a9fefb3fe0d83771e;hpb=8b36cc0f179ee35176016ab67ae53078df4110fa diff --git a/Makefile b/Makefile index 52c1d47b2..dc907f6a8 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ SENDER = udevsend INFO = udevinfo TESTER = udevtest STARTER = udevstart -VERSION = 050 +VERSION = 051 INSTALL_DIR = /usr/local/bin RELEASE_NAME = $(ROOT)-$(VERSION) LOCAL_CFG_DIR = etc/udev @@ -108,11 +108,56 @@ GCC_LIB := $(shell $(CC) -print-libgcc-file-name ) OPTIMIZATION := ${shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ then echo "-Os"; else echo "-O2" ; fi} -# add -Wredundant-decls when libsysfs gets cleaned up -WARNINGS := -Wall +# check if compiler option is supported +cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;} + +WARNINGS := -Wall -fno-builtin -Wchar-subscripts -Wpointer-arith -Wstrict-prototypes -Wsign-compare +WARNINGS += $(call cc-supports,-Wno-pointer-sign) +WARNINGS += $(call cc-supports,-Wdeclaration-after-statement) CFLAGS := -pipe +HEADERS = \ + udev.h \ + udev_utils.h \ + namedev.h \ + udev_version.h \ + udev_db.h \ + udev_sysfs.h \ + logging.h \ + udev_selinux.h \ + list.h + +SYSFS_OBJS = \ + libsysfs/sysfs_bus.o \ + libsysfs/sysfs_class.o \ + libsysfs/sysfs_device.o \ + libsysfs/sysfs_dir.o \ + libsysfs/sysfs_driver.o \ + libsysfs/sysfs_utils.o \ + libsysfs/dlist.o + +UDEV_OBJS = \ + udev_utils.o \ + udev_config.o \ + udev_add.o \ + udev_remove.o \ + udev_start.o \ + udev_sysfs.o \ + udev_db.o \ + udev_multiplex.o \ + namedev.o \ + namedev_parse.o + +OBJS = \ + udev.a \ + libsysfs/sysfs.a + +SYSFS = $(PWD)/libsysfs/sysfs.a + +CFLAGS += -I$(PWD)/libsysfs/sysfs \ + -I$(PWD)/libsysfs + ifeq ($(strip $(USE_LOG)),true) CFLAGS += -DLOG endif @@ -129,8 +174,7 @@ else endif # If we are using our version of klibc, then we need to build, link it, and then -# link udev against it statically. -# Otherwise, use glibc and link dynamically. +# 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 @@ -156,6 +200,16 @@ ifeq ($(strip $(USE_KLIBC)),true) -I$(LINUX_INCLUDE_DIR) LIB_OBJS = LDFLAGS = --static --nostdlib -nostartfiles -nodefaultlibs + + HEADERS += \ + klibc_fixups/klibc_fixups.h \ + klibc_fixups/mntent.h \ + klibc_fixups/pwd.h + + KLIBC_FIXUP_OBJS = \ + klibc_fixups/klibc_fixups.o + + OBJS += klibc_fixups/klibc_fixups.a else WARNINGS += -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations CRT0 = @@ -166,12 +220,18 @@ else endif ifeq ($(strip $(USE_SELINUX)),true) - CFLAGS += -DUSE_SELINUX + UDEV_OBJS += udev_selinux.o LIB_OBJS += -lselinux + CFLAGS += -DUSE_SELINUX endif -CFLAGS += -I$(PWD)/libsysfs/sysfs \ - -I$(PWD)/libsysfs +ifeq ($(strip $(V)),false) + QUIET=@$(PWD)/ccdv + HOST_PROGS=ccdv +else + QUIET= + HOST_PROGS= +endif # config files automatically generated GEN_CONFIGS = $(LOCAL_CFG_DIR)/udev.conf @@ -195,64 +255,6 @@ $(CRT0): fi $(MAKE) -C klibc SUBDIRS=klibc TESTS= -HEADERS = \ - udev.h \ - udev_utils.h \ - namedev.h \ - udev_version.h \ - udev_db.h \ - udev_sysfs.h \ - logging.h \ - selinux.h \ - list.h - -SYSFS_OBJS = \ - libsysfs/sysfs_bus.o \ - libsysfs/sysfs_class.o \ - libsysfs/sysfs_device.o \ - libsysfs/sysfs_dir.o \ - libsysfs/sysfs_driver.o \ - libsysfs/sysfs_utils.o \ - libsysfs/dlist.o - -UDEV_OBJS = \ - udev_utils.o \ - udev_config.o \ - udev_add.o \ - udev_remove.o \ - udev_start.o \ - udev_sysfs.o \ - udev_db.o \ - udev_multiplex.o \ - namedev.o \ - namedev_parse.o - -OBJS = \ - libsysfs/sysfs.a \ - udev.a - -SYSFS = $(PWD)/libsysfs/sysfs.a - -ifeq ($(strip $(USE_KLIBC)),true) - HEADERS += \ - klibc_fixups/klibc_fixups.h \ - klibc_fixups/mntent.h \ - klibc_fixups/pwd.h - - KLIBC_FIXUP_OBJS = \ - klibc_fixups/klibc_fixups.o - - OBJS += klibc_fixups/klibc_fixups.a -endif - -ifeq ($(strip $(V)),false) - QUIET=@$(PWD)/ccdv - HOST_PROGS=ccdv -else - QUIET= - HOST_PROGS= -endif - udev.a: $(UDEV_OBJS) rm -f $@ $(QUIET) $(AR) cq $@ $(UDEV_OBJS)