如何在Microsoft VC中使用此makefile?

Mai*_*nID 1 linux nmake makefile

在下面的程序中,有两件事我不明白.

  1. 如何在Microsoft VC中使用此makefile?

  2. 为什么会有'?' 在'='之前?

程序:

ifeq ($(TARGET_COMPILER),ms)    

   include ../makefile.ms.config

    DBG?= /Zi

    OPT= /Ox

    CXXFLAGS += $(COMMON_FLAGS) $(OPT) $(DBG)

    EEXT = $(EXT).dll

    ifeq ($(GZSTREAM),1)

      MYLIBS = src/gzstream/lib/zlib.lib

    endif
endif
Run Code Online (Sandbox Code Playgroud)

Dra*_*ite 6

  1. Visual Studio中有一个makefile项目类型.否则,很可能makefile是由nmake运行的.

  2. 语法'?='表示如果变量未定义则赋值.换句话说,如果尚未设置DBG,则将其设置为/ Zi,否则如果DBG当前具有值/ Z0,则将保持其当前值/ Z0.