Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: конвертация nmake в gmake
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
romez777
Приветствую,

переношу проект с visual studio на arm-gcc. Почитал http://www.gnu.org/software/make/manual/make.html но не нашел аналога !MESSAGE в gnu make для выдачи сообщения. Есть @echo, но оно работает только в теле целей, а мне нужно выводить некоторые сообщения в ifndef ... endif конструкциях.

Заранее благодарю.
doomer#gp
Вы про такое ?



Код
//  ......
//  ......

  // set the interrupt controller defaults
  #if defined(RAM_RUN)
    MEMMAP = MEMMAP_SRAM;                 // map interrupt vectors space into SRAM
  #elif defined(ROM_RUN)
    MEMMAP = MEMMAP_FLASH;                // map interrupt vectors space into FLASH
  #else
    #error RUN_MODE not defined!
  #endif

//......
//......
spf
Цитата(romez777 @ Dec 18 2007, 14:32) *
Почитал http://www.gnu.org/software/make/manual/make.html но не нашел аналога !MESSAGE в gnu make для выдачи сообщения. Есть @echo, но оно работает только в теле целей, а мне нужно выводить некоторые сообщения в ifndef ... endif конструкциях.

Может подойдет
makefile:

Код
ifndef TEST
$(warning Вывод текста )
endif

Результат работы:
Код
[running 'make ' in 'E:\Temp']
makefile:4: Вывод текста
romez777
Цитата(spf @ Dec 18 2007, 15:28) *
Может подойдет
makefile:

Код
ifndef TEST
$(warning Вывод текста )
endif

Результат работы:
Код
[running 'make ' in 'E:\Temp']
makefile:4: Вывод текста



Большое спасибо, это как раз то, что я искал!
romez777
Приветствую,

еще интересует, как в gnu make сделать подобный финт:

Код
@if not exist $(OBJ) mkdir $(OBJ)


т.е. проверить существование каталога, и если он присутствует/отстуствует - совершить какие-то действия, например удалить его или наоборот создать.

Наверное можно принудительно вызывать mkdir или del и проверять код возврата, но это как-то криво. Может быть есть способ более красивый и правильный.

Спасибо.
amw
Цитата(romez777 @ Dec 26 2007, 03:52) *
Приветствую,

еще интересует, как в gnu make сделать подобный финт:

Код
@if not exist $(OBJ) mkdir $(OBJ)


т.е. проверить существование каталога, и если он присутствует/отстуствует - совершить какие-то действия, например удалить его или наоборот создать.

Наверное можно принудительно вызывать mkdir или del и проверять код возврата, но это как-то криво. Может быть есть способ более красивый и правильный.

Спасибо.

Не, не криво.

Код
DIRNAME = outdir
OBJ = $(DIRNAME)/main.o

$(DIRNAME):
    mkdir $@

$(OBJ): main.c $(DIRNAME)
    $(CC) тра-ля-ля


Ну или
Код
DIRNAME = outdir
OBJ = $(DIRNAME)/main.o

$(DIRNAME):
    @if not exist $(DIRNAME) mkdir $(DIRNAME)

$(OBJ): main.c $(DIRNAME)
    $(CC) тра-ля-ля
romez777
Цитата(amw @ Dec 26 2007, 11:42) *
Код
DIRNAME = outdir
OBJ = $(DIRNAME)/main.o

$(DIRNAME):
    @if not exist $(DIRNAME) mkdir $(DIRNAME)

$(OBJ): main.c $(DIRNAME)
    $(CC) тра-ля-ля


Gnu make не воспринимает такие конструкции: @if not exist
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.