簡體   English   中英

這是在Makefile中包含子目錄的正確方法嗎

[英]Is this the right way to include a subdir in a makefile

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@

CFLAGS  = -pipe -O2 -g `freetype-config --cflags` -c -Wall -Wno-multichar `cat @top_srcdir@/madlax.specs` 
CPPFLAGS= $(CFLAGS) -Woverloaded-virtual -Wnon-virtual-dtor

CC      = @CC@
EXE = jpegtranslator
MLXLIBDIR = @top_srcdir@/src/kits/objs

SUBDIR = libjpeg
SRC := $(SUBDIR)/jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jcdiffct.c \
jchuff.c jcinit.c jclhuff.c jclossls.c jclossy.c jcmainct.c jcmarker.c jcmaster.c jcodec.c \
jcomapi.c jcparam.c jcphuff.c jcpred.c jcprepct.c jcsample.c jcscale.c jcshuff.c jctrans.c \
jdapimin.c jdapistd.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jddiffct.c jdhuff.c \
jdinput.c jdlhuff.c jdlossls.c jdlossy.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c \
jdpostct.c jdpred.c jdsample.c jdscale.c jdshuff.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c \
jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c jmemmgr.c jmemnobs.c jquant1.c jquant2.c \
jutils.c

OBJS =  be_jdatadst.o be_jdatasrc.o be_jerror.o JPEGTranslator.o $(SRC)
OBJDIR := objs

include @top_srcdir@/makefile.rules

all :   $(OBJDIR) $(OBJDIR)/$(EXE)

$(OBJDIR):
    mkdir $(OBJDIR) -C $(SUBDIR)

關注的主要部分是$(OBJDIR)-C $(SUBDIR),因為我真的不知道我是否還需要-I $(SUBDIR)或-L $(SUBDIR),還是我只使用了-ljpeg

首先, -l選項(小寫L)用於與庫鏈接,而-L用於向鏈接器library-search-path-list添加路徑。

是的,如果要使用-l鏈接到非標准位置的庫,則需要-L

也可以同時跳過-L-l選項,並提供庫的完整路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM