On 12/27/2016 08:47 PM, Rami Rosen wrote:
Hi, David,

For the Makefile, you should follow the pattern which is common in
Linux Kernel Ethernet drivers, for example,
http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/i40e/Makefile or
http://lxr.free-electrons.com/source/drivers/net/ethernet/mellanox/mlx5/core/Makefile


Don't think that I ever saw usage of "-j" in a kernel module Makefile;
apart from it, "-j4" is specific to one platform with a given number
of cores, and of course there can be platforms with many more cores,
for which it is less suitable. You can pass the "-j" when running
"make" from the command line, there is no justification to put it in a
Makefile:

+all:
+       $(MAKE) -j4 CC=$(CC) -C $(BUILD_DIR) M=$(PWD) modules
+
+dox:   .doxygen
+       @doxygen $<
+
+clean:
+       $(MAKE) -j4 -C $(BUILD_DIR) M=$(PWD) clean
Don't think I ever encountered load/unload targets in Linux Kernel
Makefiles (not talking about out of tree  projects):

+load:
+       insmod ./$(TARGET).ko
+
+unload:
+       rmmod ./$(TARGET).ko

Regards,
Rami Rosen
You are right. The driver spent a while as an out-of-tree build module, where this made sense. It clearly no longer makes sense.


--
David VL

Reply via email to