Hallo leute!
ich schreibe zurzeit einen treiber und dabei will ich auf eine lib zugreifen.
meine lib heißt libusb.a und die zugehörige headerdatei hab ich auch.
wenn ich nur ein normales programm kompilieren wöllte müsste der aufruf glaub so sein:
gcc meinprogramm.c -Lpfad -lusb
aber da ich ja ein modul erstellen möchte, muss ich ja auf das makefile des kernelsources zugreifen.
Das ist mein makefile:
TARGET = usb_hilscher-driver
OBJS = usb_hilscher-driver.o
KDIR = /opt/ptxdist/linux-2.6.14
PWD = $(shell pwd)
CROSS = /opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-
obj-m := $(TARGET).o
default:
make -C $(KDIR) SUBDIRS=$(PWD) modules ARCH=arm CROSS_COMPILE=$(CROSS)
wie kann ich in dem makefile sagen, dass er beim kompilieren die lib mit einbinden soll? geht das überhaupt?
ich schreibe zurzeit einen treiber und dabei will ich auf eine lib zugreifen.
meine lib heißt libusb.a und die zugehörige headerdatei hab ich auch.
wenn ich nur ein normales programm kompilieren wöllte müsste der aufruf glaub so sein:
gcc meinprogramm.c -Lpfad -lusb
aber da ich ja ein modul erstellen möchte, muss ich ja auf das makefile des kernelsources zugreifen.
Das ist mein makefile:
TARGET = usb_hilscher-driver
OBJS = usb_hilscher-driver.o
KDIR = /opt/ptxdist/linux-2.6.14
PWD = $(shell pwd)
CROSS = /opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-
obj-m := $(TARGET).o
default:
make -C $(KDIR) SUBDIRS=$(PWD) modules ARCH=arm CROSS_COMPILE=$(CROSS)
wie kann ich in dem makefile sagen, dass er beim kompilieren die lib mit einbinden soll? geht das überhaupt?