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

Reply via email to