Я читаю Makefile из OpenWRT, исходный файл может быть найден здесь: https://dev.openwrt.org/browser/trunk/target/linux/ramips/image/Makefile#L589странные переменные и функции определения в OpenWRT Makefile
Я не могу понять эти строки:
BuildFirmware/Default8M/squashfs=$(call BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_8M),$(4))
BuildFirmware/Default8M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))
Image/Build/Profile/MT7620a=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a,MT7620a)
Q1. $ (1), $ (2) ..... Откуда берутся эти переменные? Как я могу присвоить им значения? Q2. Если $ (1) является «squashfs», означает ли это, что 3-я строка вызывает «функцию», определенную в 1-й строке? Список аргументов не соответствует, на мой взгляд. Q3. слэш «/» в этих именах переменных кажется нечетным. Это хороший способ определить переменную? Я думаю, мы можем изменить его на: Image_Build_Profile_MT7620a
Заранее благодарим.
еще одна вещь. поэтому мы имеем: 'BuildFirmware/Default8M/initramfs = $ (вызов BuildFirmware/OF/initramfs, $ (1), $ (2), $ (3), $ (4)) ' и: '$ (вызов BuildFirmware/Default8M/initramfs, initramfs, mt7620a, MT7620a) ' вызывающий пользователь предоставляет 3 параметра, но функция ожидает 4. Как получится: ' $ (вызов BuildFirmware/OF/initramfs, initramfs, initramfs, mt7620a , MT7620a) '?? – kumo