0
现在继续进行下去,我需要更改现有Makefile的表示。如何编写生成文件以在不同的目录中生成目标文件和可执行文件?
目前我使用:
~/Linuz/src: 1.c, 2.c, 3.c ...
~/Linuz/inc: abc.h, xyz.h
和Makefile是:~/Linuz/some_other_dir/
但需要改变结构。
- 要创建(
~/Linuz/src/
和~/linuz/inc
) - 图书馆将被用来获得可执行的库。应用程序源文件(.c文件)位于
~/Linuz/app/
~/Linuz/bin/
应在编译期间创建以存储所有目标文件和可执行文件。
有什么建议?
我的makefile文件看起来像这样:
all: Library.a
%.o: ../src/%.c
$(CC) $(CFLAGS) -I../inc/ -c -o [email protected] $^
Library.a: $(SRC_DIR)/1.c $(SRC_DIR)/2.c $(SRC_DIR)/3.c $(SRC_DIR)/4.c $(SRC_DIR)/5.c
$(CC) $(LDFLAGS) -o [email protected] $^
all: prog
%.o: ./*.c
$(CC) $(CFLAGS) -ILibrary.a -c -o [email protected] $^
prog: $(APP_DIR)/app1.c $(APP_DIR)/app2.c $(APP_DIR)/app3.c
clean:
rm -f *.o my_program
@linuz把它放在你的问题 – MOHAMED 2013-03-19 08:57:52
@Linuz:好的,你可以编辑你的问题,包括它,并解释你有什么问题吗? – 2013-03-19 08:59:32
更新的问题:) – San 2013-03-19 09:08:02