我正在尝试将macOS的现有makefile转换为将在Windows10上的mingw-W64下运行的文件

问题描述

这是MacOS的makefile源目录包含源文件以及makefile和srclist.make文件

# makefile for molex on macOS

OBJDIR = ../Objects
SRCDIR = ./Source

include srclist.make

    FC = gfortran
FFLAGS = -x f77-cpp-input -ffixed-line-length-132 -fno-align-commons -I$(SRCDIR) -O3

OBJECTS  = $(addprefix $(OBJDIR)/,$(addsuffix .o,$(basename $(SRCLIST)) ))

SOURCES = $(addprefix $(SRCDIR)/,$(SRCLIST) )

vpath %.f $(SRCDIR)
vpath %.inc $(SRCDIR)

$(OBJDIR)/%.o : %.f
    $(FC) -c $(FFLAGS) $< -o $@ 

molex : $(OBJECTS)
    $(FC) -o molex $^

.PHONY : clean


clean:
    rm $(OBJDIR)/*.o

srclist.make包含一个fortran列表,并包含要转换为目标代码的文件,这些文件位于单独的Objects文件夹中

  SRCLIST = \
      molex.f  \
      background.f  \
      bnu.f \
      charfns.f \
      checkparam.f \
      escape.f \
      extrap.f \
      fcn.f \
      fdjac.f \
      fmin.f \
      funcv.f \
      getfs.f \
      idtrans.f \
      initcoll.f \
      initx.f \
      intensity.f \
      levpop.f  \
      lnsrch2.f \
      loadmol.f \
      lubksb.f \
      ludcmp2.f \
      newt3.f \
      nextline.f \
      output.f \
      tau.f \
      taudust.f \
      Tex.f \
      bug.inc \
      collisions.inc \
      constants.inc \
      control.inc \
      moldata.inc \
      nlevmax.inc \
      nmax.inc \
      parameters.inc \
      radiative.inc \

我尝试将转义反斜杠放置在macOS makefile中,并使用mingw32-make在cmd prmpt中运行 环境路径设置为C:\ msys2 \ mingw-w64 \ bin

部分编辑的makefile紧随其后

    # makefile for molex on macOS

OBJDIR = ..\\Objects
SRCDIR = .\\Source

include  srclist.make

    FC = gfortran
FFLAGS = -x f77-cpp-input -ffixed-line-length-132 -fno-align-commons -I$(SRCDIR) -O3

#OBJECTS  = $(addprefix $(OBJDIR)/,$(basename $(SRCLIST)) ))
OBJECTS  = $(addprefix $(OBJDIR)\\,$(SRCLIST) )

vpath %.f $(SRCDIR)
vpath %.inc $(SRCDIR)

$(OBJDIR)\%.o : %.f
    $(FC) -c $(FFLAGS) $< -o $@ 

molex : $(OBJECTS)
    $(FC) -o molex $^

.PHONY : clean



clean:
    del $(OBJDIR)/*.o

随后是cmd提示输出

     D:\test_molex_ian\Source>mingw32-make -f makefile molex
mingw32-make: *** No rule to make target '..\\Objects\\molex.o',needed by 'molex'.  Stop.
 

请您提供一些指导

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...