The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Makefile  Multitarget"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Makefile  Multitarget"
Сообщение от mironex emailИскать по авторуВ закладки on 22-Мрт-04, 11:54  (MSK)
Народ, не дайте окончательно сойти с ума!
Хочу написать Makefile что-бы набираю комманду make проект собирался для нескольких таргетов...  Примерно это выглядет так:

all: target1 target2 target3

target1: override GCC_OPT = -O2 -m<Процессор1>
target1: main.o
         gcc -o target1 main.o

target2: override GCC_OPT = -O2 -m<Процессор2>
target2: main.o
         gcc -o target2 main.o

target3: override GCC_OPT = -O2 -m<Процессор3>
target3: main.o
         gcc -o target3 main.o

main.o: main.c
        gcc -c $(GCC_OPT) main.c

Данный пример должен радить из себя 3 файла targetXX откомпилированных под разные процессоры... Ну вот не задача, сделав target1 он НЕ пересобирает файл main.c. Однажды сделав main.o он уже никогда  не делает его заново!
А нужно что-бы он для каждой новой таргет пересобирал файл main.c с новыми определенными в override-ах GCC_OPT !!! Плиз, help! Что нужно сказать GNU make что-бы он всякий раз пересобирал main.c заново!??


  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Makefile  Multitarget"
Сообщение от vnp emailИскать по авторуВ закладки on 22-Мрт-04, 21:59  (MSK)
>Народ, не дайте окончательно сойти с ума!
>Хочу написать Makefile что-бы набираю комманду make проект собирался для нескольких таргетов...
> Примерно это выглядет так:
>
>all: target1 target2 target3
>
>target1: override GCC_OPT = -O2 -m<Процессор1>
>target1: main.o
>         gcc -o target1
>main.o
>
>target2: override GCC_OPT = -O2 -m<Процессор2>
>target2: main.o
>         gcc -o target2
>main.o
>
>target3: override GCC_OPT = -O2 -m<Процессор3>
>target3: main.o
>         gcc -o target3
>main.o
>
>main.o: main.c
>        gcc -c $(GCC_OPT) main.c
>
>
>Данный пример должен радить из себя 3 файла targetXX откомпилированных под разные
>процессоры... Ну вот не задача, сделав target1 он НЕ пересобирает файл
>main.c. Однажды сделав main.o он уже никогда  не делает его
>заново!
>А нужно что-бы он для каждой новой таргет пересобирал файл main.c с
>новыми определенными в override-ах GCC_OPT !!! Плиз, help! Что нужно сказать
>GNU make что-бы он всякий раз пересобирал main.c заново!??


Строить 3 независимых объекта (main1.o и т.д.), типа

target%: main%.o
    gcc -o $@ $<

main%.o: main.c
    gcc -c $(GCC_OPT) main.c

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру