Makefile не "складывает" мой вывод в файл .txt - PullRequest
0 голосов
/ 16 января 2020

Итак, я пытаюсь создать make-файл, который запускает мою программу 5x для каждого из моих параметров (то есть 6), и для каждого из этих 6 параметров make-файл создает новый .txt (мой вывод). Но по некоторым причинам все мои результаты показывают только один результат.

for t in 2 4 8 16 32 64 ; do \
        #n=1 ; while [ $${n} -le 5 ] ; do \
        for n in 'seq 1 5' ; do \
            OMP_NUM_THREADS=$$t ./cowichan_openmp norm >> normOut$$t.txt ; \
        done ; \
    done ;

1 Ответ

1 голос
/ 16 января 2020

Перевод существа комментариев в ответ.

На первый взгляд, у вас есть for n in 'seq 1 5' ; do, а одинарные кавычки означают, что l oop выполняется один раз, а n имеет значение "seq 1 5". Вам нужны обратные галочки `…` или $$(…) (двойной доллар обходится вокруг make расширяющихся макросов; оболочка видит $(…)). Или даже просто:

for n in 1 2 3 4 5; do \

Где опечатка - в вопросе или в make-файле, из которого вы ее скопировали?

Если вы добавите строку:

echo $$t $$n; \

до (или после) строки OpenMP (к рецепту, скопированному из вопроса), вы поймете, что я имею в виду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...