4
我对手工制作的文件比较新。我已经为构建一个库建立了一个基本的make文件。我想将所有临时.o文件保存在一个构建目录中,并将构建的可执行文件存储在bin目录中。在make文件中指定构建目录
我的目录结构是这样的:
root
src/
include/
build/
bin/
Makefile
,这是我的make文件是什么样子:
SHLIB = pg_extlib
SRC = src/file1.c \
src/file2.c
OBJS = build/file1.o \
build/file2.o
debug_build:
gcc -g -fPIC -c $(SRC) -I`pg_config --includedir` -I`pg_config --includedir-server` -I/some/required/path/include -Iinclude
gcc -shared -o bin/$(SHLIB).so $(OBJS) -lm -lpq -lmylib_core
clean:
rm -f $(SHLIB) $(OBJS)
.o文件都保存在build文件夹中放置正确,但他们也出现在根文件夹(Makefile所在的位置)中。我该如何解决?
虽然我不知道你来自哪里,但在手工制作makefiles之前先试一试'automake'。它以便携式和*用户*可配置的方式支持这种树外构建。 – thiton 2012-01-10 08:19:06