# Set the following to `true' to make a debuggable build.
# Leave this set to `false' for production use.
-DEBUG = true
+DEBUG = false
ROOT = udev
-VERSION = 006
+VERSION = 007_bk
INSTALL_DIR = /usr/local/bin
RELEASE_NAME = $(ROOT)-$(VERSION)
# to compile vs uClibc, that can be done here as well.
CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc-
CC = $(CROSS)gcc
+LD = $(CROSS)gcc
AR = $(CROSS)ar
STRIP = $(CROSS)strip
RANLIB = $(CROSS)ranlib
# code taken from uClibc to determine the current arch
ARCH := ${shell $(CC) -dumpmachine | sed -e s'/-.*//' -e 's/i.86/i386/' -e 's/sparc.*/sparc/' \
- -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/' -e 's/ppc/powerpc/g'}
+ -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/' -e 's/powerpc/ppc/g'}
# code taken from uClibc to determine the gcc include dir
GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"}
ifeq ($(strip $(KLIBC)),true)
KLIBC_DIR = klibc/klibc
INCLUDE_DIR := $(KLIBC_DIR)/include
+ include $(KLIBC_DIR)/arch/$(ARCH)/MCONFIG
# arch specific objects
LIBGCC = $(shell $(CC) --print-libgcc)
ARCH_LIB_OBJS = \
CRT0 = $(KLIBC_DIR)/crt0.o
- LIBC = $(ARCH_LIB_OBJS) $(LIB_OBJS)
- CFLAGS += -nostdinc -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/bits32 -I$(GCCINCDIR) -Iklibc/linux/include -D__KLIBC__
+ LIBC = $(ARCH_LIB_OBJS) $(LIB_OBJS) $(CRT0)
+ CFLAGS += -nostdinc -I$(INCLUDE_DIR) -I$(KLIBC_DIR)/arch/$(ARCH)/include \
+ -I$(INCLUDE_DIR)/bits$(BITSIZE) -I$(GCCINCDIR) -Iklibc/linux/include \
+ -D__KLIBC__
LIB_OBJS =
- LDFLAGS = --static --nostdlib -nostartfiles
+ LDFLAGS = --static --nostdlib -nostartfiles -nodefaultlibs
else
CRT0 =
LIBC =
LDFLAGS = --static
endif
-all: $(LIBC) $(ROOT)
+all: $(ROOT)
-$(ARCH_LIB_OBJS) :
+$(ROOT): $(LIBC)
+
+$(ARCH_LIB_OBJS) : $(CRT0)
+
+$(CRT0):
$(MAKE) -C klibc
TDB = tdb/tdb.o \
udevdb.o \
logging.o \
namedev.o \
- klibc_fixups.o \
+ namedev_parse.o \
$(SYSFS) \
$(TDB)
+ifeq ($(strip $(KLIBC)),true)
+ OBJS += klibc_fixups.o
+endif
+
# header files automatically generated
GEN_HEADERS = udev_version.h
@echo \#define UDEV_CONFIG_DIR \"$(configdir)\" >> $@
@echo \#define UDEV_ROOT \"$(udevdir)\" >> $@
+$(OBJS): $(GEN_HEADERS)
-$(ROOT): $(GEN_HEADERS) $(OBJS)
- $(CC) $(LDFLAGS) -o $(ROOT) $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS)
+$(ROOT): $(OBJS)
+ $(LD) $(LDFLAGS) -o $(ROOT) $(CRT0) $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS)
$(STRIPCMD) $(ROOT)
clean:
$(INSTALL_DATA) -D udev.8 $(DESTDIR)$(mandir)/man8/udev.8
$(INSTALL_DATA) udev.config $(DESTDIR)$(configdir)
$(INSTALL_DATA) udev.permissions $(DESTDIR)$(configdir)
- - rm $(DESTDIR)$(hotplugdir)/udev.hotplug
+ - rm -f $(DESTDIR)$(hotplugdir)/udev.hotplug
- ln -s $(sbindir)/$(ROOT) $(DESTDIR)$(hotplugdir)/udev.hotplug
uninstall: