Я полагаю, вы хотите использовать автоматическую переменную $*
. Из документации GNU make:
$*
Стержень, с которым совпадает неявное правило. Если цель
dir/a.foo.b
, а целевой шаблон -a.%.b
, то стволом будетdir/foo
. Стебель полезен для построения имен связанных файлов. В правиле статического шаблона стержень является частью имени файла которое совпало с%
в целевом шаблоне.
В вашем конкретном случае правило wget можно переписать так:
$(BASE_DIR)/$(DATE)/%.csv:
cd $(BASE_DIR)/$(DATE); wget http://example.com/data/$*.csv
Убедитесь, что у вас установлен пакет датчиков lm -. Есть ряд полезных утилит командной строки, которые могут возвращать эту информацию, в том числе isadump и Sensors -Detect, которые являются частью этого пакета.
Предположим, что датчик подключен через шину PCI.
Прежде всего найдите каталог вашего датчика, используя его драйвер (модуль ядра )имя:
grep DRIVER /sys/bus/pci/devices/*/uevent
Вы увидите набор таких строк:
/sys/bus/pci/devices/0000:00:02.0/uevent:DRIVER=pcieport
/sys/bus/pci/devices/0000:00:04.0/uevent:DRIVER=pcieport
/sys/bus/pci/devices/0000:00:11.0/uevent:DRIVER=ahci
/sys/bus/pci/devices/0000:00:12.0/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:12.2/uevent:DRIVER=ehci-pci
/sys/bus/pci/devices/0000:00:13.0/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:13.2/uevent:DRIVER=ehci-pci
/sys/bus/pci/devices/0000:00:14.0/uevent:DRIVER=piix4_smbus
/sys/bus/pci/devices/0000:00:14.1/uevent:DRIVER=pata_atiixp
/sys/bus/pci/devices/0000:00:14.2/uevent:DRIVER=snd_hda_intel
/sys/bus/pci/devices/0000:00:14.5/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:16.0/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:16.2/uevent:DRIVER=ehci-pci
/sys/bus/pci/devices/0000:00:18.3/uevent:DRIVER=k10temp
/sys/bus/pci/devices/0000:01:00.0/uevent:DRIVER=nvidia
/sys/bus/pci/devices/0000:01:00.1/uevent:DRIVER=snd_hda_intel
/sys/bus/pci/devices/0000:02:00.0/uevent:DRIVER=r8169
Одна из этих строк будет содержать имя вашего модуля ядра сенсора -, в примере выше это k10temp
и соответствующая строка:
/sys/bus/pci/devices/0000:00:18.3/uevent:DRIVER=k10temp
Итак, теперь мы знаем директорию датчика -в примере это директория:
/sys/bus/pci/devices/0000:00:18.3/
Файл device
из каталога содержит шестнадцатеричный -адрес датчика, поэтому выполните (для примера выше):
cat /sys/bus/pci/devices/0000:00:18.3/device
Вывод будет таким:
0x1703
Если вы не можете распознать имя модуля ядра датчика, просто установите lm-sensors
, выполните sudo sensors-detect
и sensors
, после чего -вы легко найдете имя модуля ядра, так как вы увидите что-то вот так для одного из датчиков:
k10temp-pci-00c3