目前在用cppunit对程序作单元测试时碰到了这个问题 使用的Automake套件来自动生成makefile 目前的testcase是放在单独的目录下,直接包含系统中的模块头文件,然后进行测试的 也就是说,平时make出来的模块目标文件是不和testcase在一起,包含头文件可以用INCLUDE宏设置路径 但是待测的目标文件怎样链接过来呢? 难道只有把待测的目标文件全部打包成静态链接文件么?
偶是一个刚刚开始研究autotool的菜鸟~~ 因为需要在不同的操作系统编译代码,所以使用autotool生成makefile,以方便适应不同平台 可是在生成makefile的过程中遇到一些问题 目前未解决的是: 我想在make的时候,利用给定参数,比如make;config=debug 来实现debug或者release的不同编译 我原来采取在makefile.am里面用if语句定义的方法,可是在automake的时候出错,if好像根本不起作用,提示需要在configure.ac中使用AM_CONDITIONAL,...
CROSS=mipsel-linux- CC=$(CROSS)gcc LD=$(CROSS)ld OBJCOPY=$(CROSS)objcopy OBJDUMP=$(CROSS)objdump # Set this to "n" for production (disabling UART output) USE_UART = y # Set this to "y" for signature block support # When it's "n" XENV will be used instead USE_SIGBLOCK = n ifeq ($(USE_SIGBLOCK),y) USE_XENV = n else USE_XENV = y endif SHELL=/bin/bash internal_hex = 0x$(shell printf "%x" $$[$(1)]...
如题,修改了内核中的一个C文件,然后在include\net中添加了一个a.h,在net中添加了一个a.c文件,该修改哪些makefile?是不是只需要修改linux-2.4.22中总的makefile就可以了?如果不是还有哪些文件夹下的makefile需要修改?并且如何修改那个makefile呢? 我的初步想法是把那个a.h a.c写成模块的形式。 另外makefile中的那些命令是gcc命令吗?不太了解这个,希望高手能给些指点:) 非常感谢。
如题,修改了内核中的一个C文件,然后在include\net中添加了一个a.h,在net中添加了一个a.c文件,该修改哪些makefile?是不是只需要修改linux-2.4.22中总的makefile就可以了?如果不是还有哪些文件夹下的makefile需要修改?并且如何修改那个makefile呢? 我的初步想法是把那个a.h a.c写成模块的形式。 另外makefile中的那些命令是gcc命令吗?不太了解这个,希望高手能给些指点:) 非常感谢。
我在cpp中定义了一个宏 #ifdef (_Macro1) do something #elif defined (_Macro2) do something else #endif 现在需要在makefile中定义_Macro1 或 _Macro2 怎么搞?? :?:
我在cpp中定义了一个宏 #ifdef (_Macro1) do something #elif defined (_Macro2) do something else #endif 现在需要在makefile中定义_Macro1 或 _Macro2 怎么搞?? :?:
# 这个宏变量用于删除目标文件 define TARGET_CLEAN $(MAKE) -C $(BUILDING_DIR)/objs -f $(BUILD_DIR)/makefile IN_OBJECT_DIR=1 $@ endef 中 1 $(MAKE) -C $(BUILDING_DIR)/objs #进入 $(BUILDING_DIR)/objs 执行makefile 2 -f $(BUILD_DIR) #判断BUILD_DIR 是否存在 3 请问/makefile IN_OBJECT_DIR=1 $@ 该怎么理解呢?
在网上看见有人这样写:[code]OBJS=$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCES)))[/code]里面的patsubst 返回的不是替换后的.o 文件的集合吗? 为啥还有外面得patsubst的?
在unix环境下,我有一个C程序 程序中的部分语句如下 if define AAA printf("aaa"); elif define BBB printf("bbbb"); else printf("cccc"); 现在我可以在makefile中 指定 gcc -g *.c -o test -DAAA 来编译printf("aaa"); 指定 gcc -g *.c -o test -DBBB 来编译printf("bbbb"); 请问我如何要在一个makefile中实现呢? 我想的是传递参数也行。 比如执行 make 1 就像下面编译 比如传递1 就编译printf("aaa"); 执行 make 2 传递2 就...