我的makefile如下
program_NAME := myprogram
program_C_SRCS := $(wildcard *.cc)
program_C_OBJS := ${program_C_SRCS:.cc=.o}
program_OBJS := $(program_C_OBJS)
program_INCLUDE_DIRS := ../INCLUDE
program_LIBRARY_DIRS :=
program_LIBRARIES :=
CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir))
LDFLAGS += $(foreach librarydir,$(program_LIBRARY_DIRS),-L$(librarydir))
LDFLAGS += $(foreach library,$(program_LIBRARIES),-l$(library))
.PHONY: all clean distclean
all: $(program_NAME)
$(program_NAME): $(program_OBJS)
$(LINK.cc) $(program_OBJS) -o $(program_NAME)
clean:
@- $(RM) $(program_NAME)
@- $(RM) $(program_OBJS)
distclean: clean
我stack.a
在某个路径中创建了一个库/home/Desktop/kk/stack
。我想将此库包含到我的 makefile 中,以便在链接期间应该从该路径中获取它。
我试图给:
program_LIBRARY_DIRS := /home/Desktop/kk/stack
在链接步骤中我给出了:
$(LINK.cc) $(program_OBJS) stack.a -o $(program_NAME)
但是 makefile 无法从提到的路径中获取库。
相反,如果我直接给出:
$(LINK.cc) $(program_OBJS) /home/Desktop/kk/stack/stack.a -o $(program_NAME)
它完美地工作。
请帮助我如何包含这个库路径,这样我就不必在链接命令中给出库的位置。