当前位置: 技术问答>linux和unix
請教C文件的編譯問題
来源: 互联网 发布时间:2016-11-02
本文导语: 當前目錄下有如下內容: main.c calc.c calc.h math文件夾 math文件夾下的內容有: math.c math.h 其中,calc.c需要用到math.c中定義的函數。 請教各位這樣用makefile和不用makefile該如何編譯呢? | 一、...
當前目錄下有如下內容:
main.c calc.c calc.h math文件夾
math文件夾下的內容有:
math.c math.h
其中,calc.c需要用到math.c中定義的函數。
請教各位這樣用makefile和不用makefile該如何編譯呢?
main.c calc.c calc.h math文件夾
math文件夾下的內容有:
math.c math.h
其中,calc.c需要用到math.c中定義的函數。
請教各位這樣用makefile和不用makefile該如何編譯呢?
|
一、使用Makefile进行编译:
与main.c calc.c等文件放在一起的Makefile内容:
放到 math 文件夹里的Makefile内容:
与main.c calc.c等文件放在一起的Makefile内容:
CC = gcc
CFLAGS = -Wall -Werror -ansi
OBJECTS = main.o calc.o
.PHONY: all
all: libmath.a main
libmath.a:
cd math;
make;
cd ..
main: $(OBJECTS) libmath.a
$(CC) $(OBJECTS) -o $@ -Lmath -lmath
%.o: %.c
$(CC) $(CFLAGS) -c $^ -o $@
.PHONY: clean
clean:
rm -f $(OBJECTS) main;
cd math;
make clean;
cd ..
放到 math 文件夹里的Makefile内容:
CC = gcc
AR = ar
CFLAGS = -Wall -Werror -ansi
ARFLAGS = -r
.PHONY: all
all: libmath.a
libmath.a: math.o
$(AR) $(ARFLAGS) $@ math.o
ranlib $@
math.o: math.c
$(CC) $(CFLAGS) -c $
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!