嵌入式 Makefile宏定义-D

原创 2013年12月02日 14:52:06
在Makefile中我们可以通过宏定义来控制源程序的编译。只要在Makefile中的CFLAGS中通过选项-D来指定你于定义的宏即可。

如:
CFLAGS += -D _YUQIANG
在编译的时候加上此选项就可以了: $(CC) $(CFLAGS) $^ -o $@

下面是我写的一个测试文件:

例如:

Makefile文件内容为:

CC = gcc
RM = rm

CFLAGS += -D _YUQIANG

TARGETS := myapp

all:$(TARGETS)

$(TARGETS):main.c
$(CC) $(CFLAGS) $^ -o $@

clean:
-$(RM) -f *.o
-$(RM) -f $(TARGETS)


main.c文件的内容为:
#include

int main()
{

#ifdef _YUQIANG
printf("Hello Yu Qiang, How are you?\n");
#else
printf("Sorry to lost you. \n");
#endif

return 0;
}


在端口中输入    make clean all
然后输入          ./myapp

结果                
Hello Yu Qiang, How areyou?

相关文章推荐

嵌入式c宏定义

  • 2015年12月08日 11:00
  • 133KB
  • 下载

C语言中宏定义中#和##之我见以及其在嵌入式中的简单运用

宏命令里,有许多细节知识点,用得好,可以给对代码质量有更高的改善,本文主要是讲述#和##两个预处理运算符的作用和使用做了简单的阐述,并列举了一个在MSP430单片机上的一个简单的应用。...

使用宏定义方式进行非法指针判定-嵌入式C

#include #include // test parameters for level 2nd #define AUDIO_DEVICE_ID (0x9527) #define A...

嵌入式 linux下date命令详解以及如何在Makefile中定义宏并在c中进行使用来定义软件版本号

定义版本号:Makefile 示例: EXEC = systools #OBJS = *.c cgihtml/*.c channel/*.c md5/*.c OBJS = *.c cgihtml/*...
  • skdkjxy
  • skdkjxy
  • 2014年01月10日 14:32
  • 1597

[Linux C编程]例说makefile增加宏定义

0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助...

Linux学习笔记——例说makefile 增加宏定义

从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makef...

Makefile,如何传递宏定义DEBUG

1, gcc中使用宏的例子: 在程序中,通过有这样的代码段:    #ifdef   DEBUG    printf("Debug   is   define!\n");    #endif ...

android的 makefile里 的常用 宏定义

原文出自:http://blog.csdn.net/wh_19910525/article/details/7992694 在Android编译框架中,把许多固定的、反复用到的目录路径定...
  • ytmfdw
  • ytmfdw
  • 2015年01月29日 14:33
  • 575

关于嵌入式Makefile 文件那点事

在学习国嵌是视频的时候make强大的自动编译功能让我很是惊讶,第一次接触MAKEfile,不明觉厉。但是只是跟着写没有深入剖析。但是后来发现经常会用到。所以淡淡深入了解一些。 make命令执行时...

嵌入式 Linux内核Makefile浅析

1. 配置系统的基本结构   Linux内核的配置系统由三个部分组成,分别是:   Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则...
  • skdkjxy
  • skdkjxy
  • 2014年09月18日 18:24
  • 575
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 Makefile宏定义-D
举报原因:
原因补充:

(最多只允许输入30个字)