hello,
I'm desperate:-)...
I'm trying to compile the source code for the velleman kit k8055:
http://libk8055.sourceforge.net/
The velleman k8055 kit is a small print with some digital/analog
inputs and outputs. It would be very neat if it works on the fox.
I can compile the source code for an ordinary computer, so now the
challenge is to compile it for the fox...:-)
First of all, the source code needs libusb, so I compiled the fox
kernel with libusb support.
This is the origional Makefile:
##########################################
cc = gcc
exec = k8055
syspref = /usr/local
bindir = $(syspref)/bin
libdir = $(syspref)/lib
pylibdir = pyk8055
includedir = $(syspref)/include
mandir = $(syspref)/man/man1
OBJS = main.o libk8055.o
CFLAGS = -DDAEMON -Wall
libs = -lusb -L/usr/lib -lm
libk8055.so.0.2: libk8055.o
$(cc) -Wall -o libk8055.so.0.2 -shared libk8055.o
libk8055.o: libk8055.c
$(cc) -Wall -O -c -g -fPIC libk8055.c
-ln -sf libk8055.so.0.2 libk8055.so
libk8055.c: k8055.h
all: k8055_prog libk8055.so.0.2
%.o: %.c
$(cc) $(CFLAGS) -c $<
k8055_prog: $(OBJS)
$(cc) $(OBJS) -o $(exec) $(libs)
strip $(exec)
pylib: $(pylibdir)/libk8055.i libk8055.c
@$(MAKE) -C $(pylibdir)
clean:
rm -f *.o libk8055.so libk8055.so.0.2 $(exec)
@$(MAKE) -C $(pylibdir) clean
install: k8055_prog libk8055.so.0.2
cp -f $(exec) $(bindir)/
if !(test -d $(libdir)); then \
mkdir $(libdir); \
fi
if !(test -d $(includedir)); then \
mkdir $(includedir); \
fi
cp -Pf lib* $(libdir)
cp -f k8055.h $(includedir)
if !(test -d $(mandir)); then \
mkdir $(mandir); \
fi
cp -f man/k8055.1.gz $(mandir)/
pyinstall: $(pylibdir)/libk8055.i
@$(MAKE) -C $(pylibdir) install
uninstall:
rm -f $(bindir)/$(exec) $(libdir)/libk8055* $(includedir)/k8055.h
test: k8055_prog
killall $(exec)
./$(exec)
#####################################################
I have read the 'howto compile a C application' on the acmesystems.it
site and with that knowledge I changed the Makefile:
The changed Makefile:
########################################
exec = k8055
syspref = $(AXIS_TOP_DIR)/target/cris-axis-linux-gnu
bindir = $(syspref)/bin
libdir = $(syspref)/lib
pylibdir = pyk8055
includedir = $(syspref)/include
mandir = $(syspref)/man/man1
OBJS = main.o libk8055.o
CFLAGS = -DDAEMON -Wall
libs = -lusb -L/usr/lib -lm
AXIS_USABLE_LIBS = UCLIBC GLIBC LIBUSB
include $(AXIS_TOP_DIR)/tools/build/Rules.axis
libk8055.so.0.2: libk8055.o
$(cc) -Wall -o libk8055.so.0.2 -shared libk8055.o
libk8055.o: libk8055.c
$(cc) -Wall -O -c -g -fPIC libk8055.c
-ln -sf libk8055.so.0.2 libk8055.so
libk8055.c: k8055.h
all: k8055_prog libk8055.so.0.2
%.o: %.c
$(cc) $(CFLAGS) -c $<
k8055_prog: $(OBJS)
$(cc) $(OBJS) -o $(exec) $(libs)
strip $(exec)
pylib: $(pylibdir)/libk8055.i libk8055.c
@$(MAKE) -C $(pylibdir)
clean:
rm -f *.o libk8055.so libk8055.so.0.2 $(exec)
@$(MAKE) -C $(pylibdir) clean
install: k8055_prog libk8055.so.0.2
cp -f $(exec) $(bindir)/
if !(test -d $(libdir)); then \
mkdir $(libdir); \
fi
if !(test -d $(includedir)); then \
mkdir $(includedir); \
fi
cp -Pf lib* $(libdir)
cp -f k8055.h $(includedir)
if !(test -d $(mandir)); then \
mkdir $(mandir); \
fi
cp -f man/k8055.1.gz $(mandir)/
pyinstall: $(pylibdir)/libk8055.i
@$(MAKE) -C $(pylibdir) install
uninstall:
rm -f $(bindir)/$(exec) $(libdir)/libk8055* $(includedir)/k8055.h
test: k8055_prog
killall $(exec)
./$(exec)
#############################################
then I did the following:
[1] . init_env -when i'm in the ./devboard-R2_01 directory
[2] make cris-axis-linux-gnuuclibc -in the ./devboard-R2_01/apps/k8055 dir
this is the output:
#####
make[1]: Entering directory `/home/tux/devboard-R2_01/apps/k8055'
rm -f *.o libk8055.so libk8055.so.0.2 k8055
python setup.py clean --all
running clean
'build/lib.linux-i686-2.4' does not exist -- can't clean it
'build/bdist.linux-i686' does not exist -- can't clean it
'build/scripts-2.4' does not exist -- can't clean it
rm -f *.o _pyk8055.so libk8055_wrap.c pyk8055.py pyk8055.pyc
cp "/home/tux/devboard-R2_01/apps/k8055/.tmp.target-makefrag"
.target-makefrag
make[1]: Leaving directory `/home/tux/devboard-R2_01/apps/k8055'
####
the clean section fails, but i don't think that that would be a problem...
[2] make -in the same directory
this is the output:
######
Wall -Wshadow -O2 -g -c main.c
make: Wall: Command not found
make: [main.o] Error 127 (ignored)
Wall -O -c -g -fPIC libk8055.c
make: Wall: Command not found
make: [libk8055.o] Error 127 (ignored)
ln -sf libk8055.so.0.2 libk8055.so
main.o libk8055.o -o k8055 -lusb -L/usr/lib -lm
make: main.o: Command not found
make: *** [k8055_prog] Error 127
######
personally, I think that this causes a problem:-)
And there it ends....:-s
I admit, I'm not a herro in source compiling:-)
But i'm hoping for someone who is