KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm confronting the Linux kernel build system (Kbuild, kernel ≥2.6.28) with the directory structure and build system for a larger project. Our project contains an out-of-tree Linux kernel module, and our directory structure looks like this (simplified, obviously): checkout/src/common/*.c source files (common to Linux and other platforms) checkout/src/linux-driver/*.c source files (for the Linux kernel driver) checkout/build/linux/Kbuild Kbuild tmp/linux-2.6.xx/ where the Linux kernel is unpacked and configured output/linux-arm-debug/ where object files must end up The build process must not modify anything under checkout , and building the module must not modify anything under tmp/linux-2.6.xx . All output files must end up under output/linux-arm-debug (or whatever architecture and debug variant was selected at build time). I've read kbuild/modules.txt , and started to write my Kbuild file: MOD_OUTPUT_DIR = ../../../output/linux-$(ARCH)-$(DEBUG) obj-m += $(MOD_OUTPUT_DIR)/foo_mod.o $(MOD_OUTPUT_DIR)/our_module-objs := $(MOD_OUTPUT_DIR)/foo_common.o $(MOD_OUTPUT_DIR)/foo_linux.o This handles storing the object files in a different directory from where Kbuild lives. Now how can I specify that foo_common.o needs to be compiled from …/checkout/src/common/foo_common.c and foo_linux.o from …/checkout/src/linux-driver/foo_linux.c ?
Tags (comma-separated)
Save Edits
Cancel