Перенос старого файла make в Windows

#makefile #cmake #gnu-make #nmake

Вопрос:

Я пытаюсь преобразовать этот файл make в файл make для Windows. Я раньше не делал ничего подобного, и мне нужна помощь. Я провел исследование, но на самом деле не понимаю множества ошибок, с которыми я сталкиваюсь. Есть ли простой способ перенести это? Возможно ли это? Можно ли сделать это кросс-платформенным для cmake? Все это для меня в новинку.

 #FLAGS = -lm -L/usr/pub/lib -lefence -o
#CC = cc -O2 -fullwarn -TENV:large_GOT
#CC = cc -g -Wall
CC = gcc -O2  # at least for SunOS
#CC = cc -g

#CC = cc -O2 -fullwarn

#CC = cc -O2
FLAGS = -lm  -o

SOURCE = stride.c splitstr.c rdpdb.c initchn.c geometry.c thr2one.c one2thr.c filename.c tolostr.c strutil.c place_h.c hbenergy.c memory.c helix.c sheet.c rdmap.c phipsi.c command.c molscr.c die.c hydrbond.c mergepat.c fillasn.c escape.c p_jrnl.c p_rem.c p_atom.c p_helix.c p_sheet.c p_turn.c p_ssbond.c p_expdta.c p_model.c p_compnd.c report.c nsc.c area.c ssbond.c chk_res.c chk_atom.c turn.c pdbasn.c dssp.c outseq.c chkchain.c elem.c measure.c asngener.c p_endmdl.c stred.c contact_order.c contact_map.c

OBJECT = ${SOURCE:.c=.o} 

BINDIR = .

.c.o: 
    $(CC) -c

lt; -o $@

stride : $(OBJECT)
$(CC) $(OBJECT) $(FLAGS) $(BINDIR)/stride${ARCH}

$(OBJECT) : stride.h protot.h

clean:
rm -f $(OBJECT)

show:
echo $(SOURCE)

Комментарии:

1. Что такое «файл создания Windows»? Вы имеете в виду, что хотите написать файл makefile, который работает с программой Windows nmake , а не стандартный файл POSIX?

2. Да! Извините за мое неправильное использование терминологии

3. ОК. Преобразование в nmake будет некоторой работой, потому что nmake действительно сильно отличается от POSIX make. С другой стороны, ваш файл makefile довольно мал. Вы могли бы использовать cmake, но я не думаю, что в cmake есть генератор nmake, поэтому вы, вероятно, будете создавать файлы сборки для Visual Studio; Я не знаю, достаточно ли этого.