У меня есть простой C-Programm (1 исходный файл), который я хочу скомпилировать в Linux и Windows через make resp. NMAKE. Есть ли возможность выполнить это с помощью одного файла makefile?
Я подумал о чем-то вроде
ifeq($(MAKE), nmake)
// nmake code here
else
// make code here
endif
К сожалению, nmake, похоже, не понимает ifeq
, поэтому я не могу это использовать. У меня есть рабочий файл makefile, но это дает очень уродливые результаты:
hello: hello.c
$(CC) hello.c
Это работает в обеих системах. Проблема в том, что результат зависит от поведения по умолчанию соответствующих компиляторов. В Linux я получаю исполняемый файл с именем "a.out", а не "привет". В Windows я получаю "hello.exe", но есть также "hello.obj", который я не хочу иметь.
Кто-нибудь знает об альтернативном пути? Или это то, что я пытаюсь сделать абсолютно невозможным?