I noticed that libsysfs doesn't inherently grab cross compilation arguments
that are set in the top-level Makefile, so I've come up with the following
patch to fix this. With the patch, I can succesfully cross compile for other
architectures (such as sh) by doing 'make ARCH=sh CROSS=sh-linux-' in the
top-level directory.
CC = $(CROSS)gcc
AR = $(CROSS)ar
STRIP = $(CROSS)strip
+RANLIB = $(CROSS)ranlib
+export CROSS CC AR STRIP 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/' \
# Makefile for libsysfs.a
# Copyright (c) International Business Machines Corp., 2003
-CC=gcc
-
H_INCLUDE=../include
LIB_INCLUDE=.
OBJS=sysfs_bus.o sysfs_class.o sysfs_device.o sysfs_dir.o sysfs_driver.o \
RM=rm -f
libsysfs.a: $(OBJS)
- ar cru $(LIBSYSFS) $(OBJS)
- ranlib $(LIBSYSFS)
+ $(AR) cru $(LIBSYSFS) $(OBJS)
+ $(RANLIB) $(LIBSYSFS)
sysfs_bus.o: sysfs_bus.c
$(CC) -I$(H_INCLUDE) -I$(LIB_INCLUDE) $(CFLAGS) -c sysfs_bus.c