chiark / gitweb /
[PATCH] remove Makefile magic for klibc integration
[elogind.git] / Makefile
index 052e41acc3f87deea2e0b81a6cdb42eb31fe5796..baecda66f32d933292d3cc8db5ed3cb7632133a4 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,24 +108,28 @@ 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  \
+       udev.h                  \
+       udev_utils.h            \
+       namedev.h               \
+       udev_version.h          \
+       udev_db.h               \
+       udev_sysfs.h            \
+       logging.h               \
+       udev_libc_wrapper.h     \
+       udev_selinux.h          \
        list.h
 
 SYSFS_OBJS = \
-       libsysfs/sysfs_bus.o    \
        libsysfs/sysfs_class.o  \
        libsysfs/sysfs_device.o \
        libsysfs/sysfs_dir.o    \
@@ -143,7 +147,8 @@ UDEV_OBJS = \
        udev_db.o               \
        udev_multiplex.o        \
        namedev.o               \
-       namedev_parse.o
+       namedev_parse.o         \
+       udev_libc_wrapper.o
 
 OBJS = \
        udev.a                  \
@@ -155,7 +160,7 @@ CFLAGS +=   -I$(PWD)/libsysfs/sysfs \
                -I$(PWD)/libsysfs
 
 ifeq ($(strip $(USE_LOG)),true)
-       CFLAGS  += -DLOG
+       CFLAGS += -DLOG
 endif
 
 # if DEBUG is enabled, then we do not strip or optimize
@@ -172,7 +177,6 @@ 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.
 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
@@ -185,10 +189,8 @@ ifeq ($(strip $(USE_KLIBC)),true)
        CRT0 = $(KLIBC_DIR)/crt0.o
        LIBC = $(ARCH_LIB_OBJS) $(LIB_OBJS) $(CRT0)
        CFLAGS += $(WARNINGS) -nostdinc                         \
-               $(OPTFLAGS)                                     \
+               $(OPTFLAGS) $(REQFLAGS)                         \
                -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)                 \
@@ -197,22 +199,12 @@ ifeq ($(strip $(USE_KLIBC)),true)
        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 =
        LIBC =
        CFLAGS += $(WARNINGS) -I$(GCCINCDIR)
        LIB_OBJS = -lc
-       LDFLAGS =
 endif
 
 ifeq ($(strip $(USE_SELINUX)),true)
@@ -261,11 +253,6 @@ libsysfs/sysfs.a: $(SYSFS_OBJS)
        $(QUIET) $(AR) cq $@ $(SYSFS_OBJS)
        $(QUIET) $(RANLIB) $@
 
-klibc_fixups/klibc_fixups.a: $(KLIBC_FIXUP_OBJS)
-       rm -f $@
-       $(QUIET) $(AR) cq $@ $(KLIBC_FIXUP_OBJS)
-       $(QUIET) $(RANLIB) $@
-
 # header files automatically generated
 GEN_HEADERS =  udev_version.h
 
@@ -298,7 +285,6 @@ $(GEN_MANPAGES): $(GEN_MANPAGESIN)
 
 $(UDEV_OBJS): $(GEN_HEADERS) $(HOST_PROGS)
 $(SYSFS_OBJS): $(HOST_PROGS)
-$(KLIBC_FIXUP_OBJS): $(HOST_PROGS)
 $(OBJS): $(GEN_HEADERS) $(HOST_PROGS)
 $(ROOT).o: $(GEN_HEADERS) $(HOST_PROGS)
 $(TESTER).o: $(GEN_HEADERS) $(HOST_PROGS)
@@ -354,7 +340,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"