写一个makefile文件

pirateslord 2014-01-22 11:09:43
写一个makefile文件,实现可以将main.c文件编译成obj文件main.obj,静态库libmian.a与编译成可执行文件main.exe
...全文
179 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
蝶舞醉风 2014-01-22
  • 打赏
  • 举报
回复
跟着学习下,还没有用过静态库呢~~~
zhxianbin 2014-01-22
  • 打赏
  • 举报
回复
google "跟我一起写makefile"
pirateslord 2014-01-22
  • 打赏
  • 举报
回复
怎么这么复杂?
zhxianbin 2014-01-22
  • 打赏
  • 举报
回复
all: main

main: main.o
	gcc $^ -o $@ -lmain

clean:
	-rm main *.o

.PHONY: clean

sources = main.c

include $(sources:.c=.d)

%.d: %.c
	set -e; rm -f $@; \
	$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
	sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
	rm -f $@.$$$$
zhxianbin 2014-01-22
  • 打赏
  • 举报
回复
all: main

main: main.o stack.o maze.o
	gcc $^ -o $@

clean:
	-rm main *.o

.PHONY: clean

sources = main.c stack.c maze.c

include $(sources:.c=.d)

%.d: %.c
	set -e; rm -f $@; \
	$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
	sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
	rm -f $@.$$$$
zhxianbin 2014-01-22
  • 打赏
  • 举报
回复
all: main main: main.o gcc $^ -o $@ -lmain clean: -rm main *.o .PHONY: clean sources = main.c include $(sources:.c=.d) %.d: %.c set -e; rm -f $@; \ $(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$

18,829

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧