2016-01-04 2 views
0

Я анализировал автоматически сгенерированные make-файлы в eclipse, и я нашел пару вещей, которые мне не удалось найти.Какова цель .refresh в make-файле?

В строке "Src \ Eep.EepIO.o.opt": .refresh что является .refresh для?

А что такое @argfile mean?

Вот это .mk содержимое файла для справки

C_FILES += "..\src\Eep\EepIO.c" 
OBJ_FILES += "src\Eep\EepIO.o" 
"src\Eep\EepIO.o" : "..\src\Eep\EepIO.c" "src\Eep\.EepIO.o.opt" 
    @echo Compiling ${<F} 
    @"${PRODDIR}\bin\cctc" -f "src\Eep\.EepIO.o.opt" 

"src\Eep\.EepIO.o.opt" : .refresh 
    @argfile "src\Eep\.EepIO.o.opt" -o "src\Eep\EepIO.o" "..\src\Eep\EepIO.c" -Ctc23x --lsl-core=vtc -t -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\Fbl" -Wa-H"sfr/regtc23x.def" -Wa-gAHLs --emit-locals=-equs,-symbols -Wa-Ogs -Wa--error-limit=42 -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\cnf" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\_Common" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\_Template" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\Eep" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\Fbl" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\Flash" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\SecMod" -I"C:\Users\malagonm\Documents\Projects\TC237Fbl\src\WrapNv" --iso=99 --language=-gcc,-volatile,+strings,-kanji --fp-model=3 --switch=auto --align=0 --default-near-size=8 --default-a0-size=0 --default-a1-size=0 -ONrPfceogvIlywakMsU --tradeoff=4 --compact-max-size=200 -g --source -c --dep-file="src\Eep\.EepIO.o.d" -Wc--make-target="src\Eep\EepIO.o" 
DEPENDENCY_FILES += "src\Eep\.EepIO.o.d" 


GENERATED_FILES += "src\Eep\EepIO.o" "src\Eep\.EepIO.o.opt" "src\Eep\.EepIO.o.d" "src\Eep\EepIO.src" "src\Eep\EepIO.lst" 

ответ

1

Линия:

"src\Eep\.EepIO.o.opt" : .refresh

означает, что файл src\Eep\.EepIO.o.opt зависит от файла .refresh. Если .refresh изменился, он запустит следующие команды для восстановления цели, src\Eep\.EepIO.o.opt. В этом случае, что команда

@argfile "src\Eep\.EepIO.o.opt" -o "src\Eep\EepIO.o"...

@ символ просто подавляет вывод команды. Таким образом, команда, что она фактически работает, равна argfile.

+0

Спасибо! но что такое argfile? – m4l490n

+0

@ m4l490n Работает ли сборка? Потому что либо 'argfile' - это затмение, либо инструмент проекта/бинарный/скрипт, либо это ошибка в make-файле, потому что переменная отсутствовала или что-то в этом роде. –

+0

@ EtanReisner работает отлично. То, что я пытаюсь сделать здесь, - это проанализировать сгенерированные make-файлы, чтобы понять, что происходит, и в конечном итоге сделать переход от автоматически сгенерированных файлов к моим собственным файлам make-файлов. Но из всего содержимого make-файла этот argfile действительно неясен, и я не знаю, откуда он. – m4l490n

Смежные вопросы