#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; Я не знаю, достаточно ли этого.