📄 makefile.lnx
字号:
############################################################################### Makefile# used to build j2kit 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### Name of the application to build.DEFAULT: allOBJSFX = .o-include obj_list.iniSFX = $(SFX_LNX)################################################################################ project directories#ROOT_BIN_DIR = ./../../_bin/linux$(subst ia,,$(ARCH))## Directory name for obj-files#ObjDir = $(ROOT_BIN_DIR)/obj/$(BinName)## Directory name for binary-files#ifeq ($(SFX),.a) BinDirAdd = /lib PFX=libendififeq ($(SFX),.so) PFX=libendifBinDir = $(ROOT_BIN_DIR)$(BinDirAdd)## Directory names for include files#-include include.iniIncDirs = $(subst \,/,$(patsubst -I,,$(CINCLUDE)))## Directory names for sources files#SrcDirs = ./src############################################################################################################################################################### compiler environment#CDEFINES = -D LINUX32CFLAGS = -Wall -O2 -fPICifeq ($(ARCH),iwmmxt_le) CFLAGS = -mcpu=iwmmxt -mtune=iwmmxtendififeq ($(ARCH),xscale_be) CFLAGS = -mcpu=xscale -mtune=xscaleendifCINCLUDES = -I$(IPPROOT)/includeCINCLUDES += $(addprefix -I, $(IncDirs))############################################################################################################################################################### Tuning of IPP libraries set#IPPLIBPATH = -L$(IPPROOT)/lib -L$(IPPROOT)/sharedlibifeq ($(ARCH),ia64) LIB_ARCH = 64endififeq ($(ARCH),em64t) LIB_ARCH = em64tendififeq ($(ARCH),iwmmxt_le) IPPLIBPATH = -L$(IPPROOT)/lib/le LINKAGE = static CDEFINES += -D ARM -D _ARM_ -D ARM_ASM -D XSCALE_OPTendififeq ($(ARCH),xscale_be) IPPLIBPATH = -L$(IPPROOT)/lib/be LINKAGE = static CDEFINES += -D ARM -D _ARM_ -D ARM_ASM -D XSCALE_OPT -D _BIG_ENDIAN_endififeq ($(LINKAGE),static)ifeq ($(ARCH),ia64)IPPLIB = \ -lippdci7 \ -lippcci7 \ -lippaci7 \ -lippsri7 \ -lippvci7 \ -lippii7 \ -lippji7 \ -lippsi7 \ -lippcore64elseIPPLIB = \ -lippdcemerged$(LIB_ARCH) -lippdcmerged$(LIB_ARCH) \ -lippccemerged$(LIB_ARCH) -lippccmerged$(LIB_ARCH) \ -lippacemerged$(LIB_ARCH) -lippacmerged$(LIB_ARCH) \ -lippsremerged$(LIB_ARCH) -lippsrmerged$(LIB_ARCH) \ -lippvcemerged$(LIB_ARCH) -lippvcmerged$(LIB_ARCH) \ -lippiemerged$(LIB_ARCH) -lippimerged$(LIB_ARCH) \ -lippjemerged$(LIB_ARCH) -lippjmerged$(LIB_ARCH) \ -lippsemerged$(LIB_ARCH) -lippsmerged$(LIB_ARCH) \ -lippcore$(LIB_ARCH)endifelseIPPLIB = \ -lippdc$(LIB_ARCH) \ -lippcc$(LIB_ARCH) -lippac$(LIB_ARCH) \ -lippsr$(LIB_ARCH) -lippvc$(LIB_ARCH) \ -lippi$(LIB_ARCH) -lipps$(LIB_ARCH) \ -lippj$(LIB_ARCH) \ -lippcore$(LIB_ARCH)endififeq ($(ARCH),iwmmxt_le)IPPLIB = \ -lippdcs2 \ -lippccs2 -lippacs2 \ -lippsrs2 -lippvcs2 \ -lippjs2 \ -lippis2 -lippss2 \ -lippcoreendififeq ($(ARCH),xscale_be)IPPLIB = \ -lippdcs2 \ -lippccs2 -lippacs2 \ -lippsrs2 -lippvcs2 \ -lippjs2 \ -lippis2 -lippss2 \ -lippcoreendif############################################################################################################################################################### archiver environment#AR = /usr/bin/arARFLAGS = -crvifeq ($(ARCH),iwmmxt_le) AR = $(COMPILER_HOME)/bin/$(ARCH)-ar ARFLAGS = ruendififeq ($(ARCH),xscale_be) AR = $(COMPILER_HOME)/bin/$(ARCH)-ar ARFLAGS = ruendif############################################################################################################################################################### linker environment#LINK = $(CXX)LINKFLAGS = $(CFLAGS)ifneq ($(findstring icpc,$(CXX)),) LINKFLAGS += -i-staticendif-include link_list.iniSYSLIB = -lpthread -ldl $(ADD_SYSLIB_$(ARCH))SYSLIBPATH =ADD_LIB_PATHS = -L$(ROOT_BIN_DIR)/libADD_LIBS = $(patsubst %,-l%,$(subst .lib,,$(ADD_LIB_$(ARCH))))ADD_LIBS += $(patsubst %,-l%,$(subst .lib,,$(ADD_LIB)))DLL_LIST_LNX = $(subst \,/lib,$(DLL_LIST)) $(subst \,/lib,$(DLL_LIST_$(ARCH)))ifneq ($(DLL_LIST),)ifeq ($(ARCH),xscale_be) LINKFLAGS += -sharedelseifeq ($(ARCH),iwmmxt_le) LINKFLAGS += -sharedelse LINKFLAGS += -shared -z defs -z textendifendifendif################################################################################ gnerated obj lists fileObjs = $(subst \,/,$(OBJS))all : prepare build $(RM) $(BinDir)/_$(PFX)$(BinName)$(SFX)$(BinDir)/$(PFX)$(BinName).a : $(Objs) $(AR) $(ARFLAGS) $@ $^$(BinDir)/$(PFX)$(BinName) : $(Objs) $(LINK) $(LINKFLAGS) $^ -o $@ $(ADD_LIB_PATHS) $(IPPLIBPATH) $(SYSLIBPATH) $(ADD_LIBS) $(IPPLIB) $(SYSLIB)$(BinDir)/$(PFX)$(BinName).exe : $(BinDir)/$(PFX)$(BinName)$(BinDir)/lib%.so : $(ObjDir)/%_so$(OBJSFX) $(LINK) $(LINKFLAGS) $^ -o $@ -Wl,-hlib$*.so $(ADD_LIB_PATHS) $(IPPLIBPATH) $(SYSLIBPATH) $(ADD_LIBS) $(IPPLIB) $(SYSLIB)$(BinDir)/lib%.so : $(ObjDir)/%$(OBJSFX) $(LINK) $(LINKFLAGS) $^ -o $@ -Wl,-hlib$*.so $(ADD_LIB_PATHS) $(IPPLIBPATH) $(SYSLIBPATH) $(ADD_LIBS) $(IPPLIB) $(SYSLIB)ifneq ($(DLL_LIST),)build : $(DLL_LIST_LNX)elsebuild : $(BinDir)/$(PFX)$(BinName)$(SFX)endif$(ObjDir)/%$(OBJSFX): $(SrcDirs)/%.cpp $(CXX) $(CFLAGS) $(CINCLUDES) $(CDEFINES) -o $@ -c $<$(ObjDir)/%$(OBJSFX): $(SrcDirs)/%.c $(CC) $(CFLAGS) $(CINCLUDES) $(CDEFINES) -o $@ -c $<prepare : @if test ! -d $(BinDir); then mkdir -p $(BinDir); fi @if test ! -d $(ObjDir); then mkdir -p $(ObjDir); fi touch $(BinDir)/_$(PFX)$(BinName)$(SFX)clean: -@rm -rf $(ObjDir) -@rm -f $(BinDir)/$(PFX)$(BinName)$(SFX) $(DLL_LIST_LNX)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -