在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6962|回复: 6

[求助] systemc中这么一段Makefile文件是什么意思

[复制链接]
发表于 2009-12-15 11:01:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
这是我看到论坛上发的一个资料,关于systemc的makefile脚本,我不是很懂,希望有懂的给我翻译一下什么意思!这里前面的数字表示行数!
1 #Makefile  ***  2009-12-15
2
3 CC          =g++
4 OPT        =-O3
5 DEBUG   =-g
6 OTHER    =-Wall
7 CFLAGS   =$(OPT) $(OTHER) -Wno -deprecated
8 # CFLAGS =$(DEBUG) $(OTHER)
9
10 MODULE =sim
11 SRCS = counter_tb.cpp
12 OBJS=$(SRCS:.cpp.o)
13
14 include Makefile.defs
还有这里有个Makefile.defs脚本文件,那么它的模板是什么样子的呢?
希望熟悉这方面的给贴上一下!
多谢了!
发表于 2009-12-15 22:19:55 | 显示全部楼层
google一下就可以找到很多makefile的相关语法定义了
发表于 2009-12-15 22:40:52 | 显示全部楼层
1 #Makefile  ***  2009-12-15
2
3 CC          =g++ (编译链接使用g++)
4 OPT        =-O3(对代码进行3级优化。SystemC生成可执行文件。可能会出错,保险的话,不要优化)
5 DEBUG   =-g(加了-g参数,就可以利用GDB或DDD 调试SystemC代码)
6 OTHER    =-Wall(Warning All)
7 CFLAGS   =$(OPT) $(OTHER) -Wno -deprecated(这个楼主自己查GDB 的手册吧,呵呵)
8 # CFLAGS =$(DEBUG) $(OTHER)
9
10 MODULE =sim
11 SRCS = counter_tb.cpp
12 OBJS=$(SRCS:.cpp.o)
13
14 include Makefile.defs(大部分信息在Makefile.defs里,建议楼主好好看看,但看Makefile不行)

建议楼主看两个文档:
1、《跟我一起写Makefile》,一个高手写的,作为学习Makefile的经典教材,名字可能稍有出入。
2、gdb 的用户手册,可以用man gdb等命令看
 楼主| 发表于 2009-12-16 08:29:52 | 显示全部楼层
多谢楼上!
发表于 2010-1-1 14:46:32 | 显示全部楼层
本帖最后由 cyflamingo 于 2010-1-1 14:52 编辑

makefile的基本作用就是批处理,把命令行里面很长的内容以及反馈由机器来处理
下面是makefile.defs的类似内容(也是网上搜索的)
SYSTEMC = /home/Administrator/systemc-2.1.v1(这个目录要根据自己路径修改)
   INCDIR = -I$(SYSTEMC)/include
   LIBDIR = -L$(SYSTEMC)/lib-$(TARGET_ARCH)
   LIBS = -lsystemc
   EXE = $(MODULE).x
   # Comunica al make su quali tipi di estensioni deve
   eseguire le regole di suffisso.
   .SUFFIXES: .cc .o .x
   $(EXE): $(OBJS) $(SYSTEMC)/lib-$(TARGET_ARCH)/libsystemc.a
   $(CC) $(CFLAGS) $(LIBDIR) -o $@ $(OBJS) $(LIBS)
   # Comunica al make di eseguire una compilazione
   # C++ per tutti i file aventi estensione .c
   # e per i quali i relativi file oggetto non
   # sono stati ancora aggiornati
   .cc.o:
   $(CC) $(CFLAGS) $(INCDIR) -c $<
   clean::
   rm -f $(OBJS) *~ $(EXE) core5,运行脚本  make -f Makefile

最简单的话就不用makefile.defs,直接在makefile里面写类似上面的内容就可以了,运行这个make对应的就是下面类似的命令(目录由个人的systemc安装目录定)

g++  main.cpp  -I/home/user/systemc/include -L /home/user/systemc/lib-linux -lsystemc -o main
发表于 2010-1-4 22:27:22 | 显示全部楼层
LZ的这个Makefile里就是一些宏定义,重要的在include Makefile.defs里面……
发表于 2018-12-16 12:58:44 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-14 18:03 , Processed in 0.024905 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表