Re: 2 modules from 1 source ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 19, 2022 at 9:37 AM <jim.cromie@xxxxxxxxx> wrote:
>
> Id like to build 2 modules (with different names)
> from a single source file, with 2nd being dependent
> on the 1st.
>
> Specifically, Ive got:
> lib/test_dynamic_debug.c
>
> I want
> A:  lib/test_dynamic_debug.ko
> B:  lib/test_dynamic_debug_submod.ko
>
> I expect that the code just needs an #ifdef #else #endif
> block to clearly put the dependor & dependee elements
> next to each other.
>
> My question is how to do this in the Makefile ?
> this does most of it
>
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -78,7 +78,8 @@ obj-$(CONFIG_TEST_SORT) += test_sort.o
>  obj-$(CONFIG_TEST_USER_COPY) += test_user_copy.o
>  obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_keys.o
>  obj-$(CONFIG_TEST_STATIC_KEYS) += test_static_key_base.o
> -obj-$(CONFIG_TEST_DYNAMIC_DEBUG) += test_dynamic_debug.o
> +obj-$(CONFIG_TEST_DYNAMIC_DEBUG) += test_dynamic_debug.o
> test_dynamic_debug_submod.o
> +CFLAGS_test_dynamic_debug_submod.o += -DTEST_DYNAMIC_DEBUG_SUBMOD
>  obj-$(CONFIG_TEST_PRINTF) += test_printf.o
>
> but how do I tell it the 2nd target ?

more to the point, this doesnt work (nor do permutations), I miss something:

+($obj)/test_dynamic_debug_submod.o: ($obj)/test_dynamic_debug.c

> make[2]: *** No rule to make target 'lib/test_dynamic_debug_submod.o',
> needed by 'lib/modules.order'.  Stop.
> make[1]: *** [/home/jimc/projects/lx/wk-test/scripts/Makefile.build:500:
> lib] Error 2
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux