chiark / gitweb /
[PATCH] klibc_fixups: remove unneeded stuff
[elogind.git] / Makefile
index 47516b3e371408048f22882946360937976e7c90..7c159b3d312f4c3de14f33c659ad9b358db6678b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@ SENDER =      udevsend
 INFO =         udevinfo
 TESTER =       udevtest
 STARTER =      udevstart
-VERSION =      051
+VERSION =      054
 INSTALL_DIR =  /usr/local/bin
 RELEASE_NAME = $(ROOT)-$(VERSION)
 LOCAL_CFG_DIR =        etc/udev
@@ -108,11 +108,55 @@ 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_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 +173,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 +199,15 @@ ifeq ($(strip $(USE_KLIBC)),true)
                -I$(LINUX_INCLUDE_DIR)
        LIB_OBJS =
        LDFLAGS = --static --nostdlib -nostartfiles -nodefaultlibs
+
+       HEADERS += \
+               klibc_fixups/klibc_fixups.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 +218,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,69 +253,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       \
-       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
-
-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 $(USE_SELINUX)),true)
-       UDEV_OBJS += udev_selinux.o
-       LIB_OBJS += -lselinux
-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)
@@ -361,7 +356,7 @@ release: spotless
        -rm -rf $(DISTDIR)
        mkdir $(DISTDIR)
        chmod 777 $(DISTDIR)
-       bk export $(DISTDIR)
+       bk export -w $(DISTDIR)
        tar -c $(DISTDIR) | gzip -9 > $(RELEASE_NAME).tar.gz
        rm -rf $(DISTDIR)
        @echo "$(RELEASE_NAME).tar.gz created"