makefile
来自「signal-processing.rar信号处理demo原码」· 代码 · 共 131 行
TXT
131 行
##############################################################################
# Makefile
# used to build Viterbi decoder sample
#
# Control variables
# CC - Lets you to choose Microsoft or Intel compiler.
# Default is Intel compiler, set it to "cl" to
# build with Microsoft one
#
# LINKAGE - lets you to choose which IPP libraries to link,
# static or dynamic. Default is static libraries
#
# Name of the test application to build
BinName = test.exe
.SUFFIXES:: .rc2
SrcAppDir = .\test
SrcVitDir = .\src
## Directory name for obj-files
ObjDir = .\_obj\$(ARCH)_$(COMP)
## Directory name for exe-files
BinDir = .\bin\$(ARCH)_$(COMP)
ResDir = .\test
# When Intel C++ compiler is used, CC variable should be set to CC=icl.exe
CC = cl.exe
LINK32 = link.exe
RC = rc.exe
!INCLUDE $(ARCH).ini
!IF "$(LINKAGE)" == ""
LINKAGE = static
!ENDIF
##############################################################################
IPPLIB = \
!IF "$(LINKAGE)" == "dynamic"
ippcore$(LIB_ARCH).lib \
ipps$(LIB_ARCH).lib \
!ELSE
ippcore$(LIB_ARCH)l.lib \
!IF "$(ARCH)"=="win64"
ippsi7l.lib \
!ELSE
ippsemerged$(LIB_ARCH).lib ippsmerged$(LIB_ARCH).lib \
!ENDIF
!ENDIF
OMPLIB = libguide40.lib
SYSLIB = \
kernel32.lib user32.lib gdi32.lib
VITOBJS = \
$(ObjDir)\viterbi.obj
APPOBJS = \
$(ObjDir)\main.obj \
$(ObjDir)\timer.obj
CFLAGS = /nologo /c /GX /O2 /W4 /MD
!IF "$(CC)" == "icl.exe" || "$(CC)" == "ecl.exe"
CFLAGS = $(CFLAGS) /Qwd9,171,181,593,810,981,1418
!ENDIF
CINCLUDE = /I "$(SrcAppDir)" /I "$(SrcVitDir)"
CDEFINES = /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "STRICT" /D "NDEBUG" /D "_MBCS"
################################################################
all : prepare build
{$(SrcVitDir)}.cpp{$(ObjDir)}.obj::
$(CC) $(CFLAGS) $(CINCLUDE) $(CDEFINES) /Fo$(ObjDir)\ $<
{$(SrcAppDir)}.cpp{$(ObjDir)}.obj::
$(CC) $(CFLAGS) $(CINCLUDE) $(CDEFINES) /Fo$(ObjDir)\ $<
#{$(ResDir)}.rc{$(ObjDir)}.res:
# $(RC) /l 0x409 $(CINCLUDE) $(CDEFINES) /fo$@ $?
$(BinDir)\$(BinName) : $(VITOBJS) $(APPOBJS)
$(LINK32) /nologo \
/map \
/subsystem:console \
/machine:$(LINK_ARCH) \
$(SYSLIB) \
!IF "$(CC)" == "icl.exe"
$(OMPLIB) \
!ENDIF
$(IPPLIB) \
$(VITOBJS) $(APPOBJS) \
/out:$@
build : $(BinDir)\$(BinName)
prepare :
@if not exist $(ObjDir) mkdir $(ObjDir)
@if not exist $(BinDir) mkdir $(BinDir)
clean:
@echo Cleaning ...
@if exist $(ObjDir) rd /s /q $(ObjDir)
@if exist $(BinDir) rd /s /q $(BinDir)
help:
@echo Usage of this Makefile:
@echo "nmake ARCH = [ win32 | win64 | winem64t ]" - prepare and build phases
@echo "nmake prepare ARCH = [ win32 | win64 | winem64t ]" - creates directories
@echo "nmake clean ARCH = [ win32 | win64 | winem64t ]" - removes directories created
@echo "nmake build ARCH = [ win32 | win64 | winem64t ]" - builds
@echo "nmake help ARCH = [ win32 | win64 | winem64t ]" - help
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?