[En-Nut-Discussion] Allow to specify dependancies
Uwe Bonnes
bon at elektron.ikp.physik.tu-darmstadt.de
Tue Jul 3 13:13:31 CEST 2012
Hello,
I just checked in to SVN a patch for tools/nutconf/src/nutcomponent.c and
tools/qnutconf/src/nutcomponent.c to allow to specify dependancies. The CM3
NXP and STM32 drivers make often use of a device-instance specific setup file
that includes a instance-independant device driver. Changing the
instance-independant device driver and recompiling the library has no
effect, as make doesn't know about this inclusion. So now in the .nut file
one can specify these dependancies like
sources = { "cm3/dev/stm/ih_stm32_exti9_5.c" },
depends = { "cm3/dev/stm/ih_stm32_exti.c" },
which will result in the Makefile in a line
cm3/dev/stm/ih_stm32_exti9_5.o: cm3/dev/stm/ih_stm32_exti.c
after the all: target.
There is a one-to-one relation between the list in sources and depends, the
first source file gets a dependcy on the first file in the depends list, the
second source to the second depends until there are no more file in one of
the lists. E.r.
sources = { "cm3/dev/stm/ih_stm32_exti0.c",
"cm3/dev/stm/ih_stm32_exti1.c",
"cm3/dev/stm/ih_stm32_exti2.c",
"cm3/dev/stm/ih_stm32_exti3.c",
"cm3/dev/stm/ih_stm32_exti4.c" },
depends = { "cm3/dev/stm/ih_stm32_exti.c",
"cm3/dev/stm/ih_stm32_exti.c",
"cm3/dev/stm/ih_stm32_exti.c",
"cm3/dev/stm/ih_stm32_exti.c",
"cm3/dev/stm/ih_stm32_exti.c"},
results in
cm3/dev/stm/ih_stm32_exti0.o: cm3/dev/stm/ih_stm32_exti.c
cm3/dev/stm/ih_stm32_exti1.o: cm3/dev/stm/ih_stm32_exti.c
cm3/dev/stm/ih_stm32_exti2.o: cm3/dev/stm/ih_stm32_exti.c
cm3/dev/stm/ih_stm32_exti3.o: cm3/dev/stm/ih_stm32_exti.c
cm3/dev/stm/ih_stm32_exti4.o: cm3/dev/stm/ih_stm32_exti.c
This doesn't solve the problem with nut/os/nutinit.c including e.g
nut/arch/cm3/os/nutinit_cm3.c, But by manually adding
sources = { "nutinit.c" },
>> depends = { "../arch/cm3/os/nutinit_cm3.c" },
targets = { "nutinit.o" },
this can be fixed locally. An automatic solution is welcome.
Any objections?
Bye
--
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
More information about the En-Nut-Discussion
mailing list