发 帖  
[问答]

如何利用Makefile对文件的编译/安装/删除?

1275 Makefile
2021-10-25 08:01:53   评论 分享淘帖 邀请回答 举报
1个回答
      clean:  
      rm -f test $(elf)  
      
   
      上面的$@,$^以及$<为自动变量。  
      $@表示规则的目标文件名;  
      $^表示所有依赖的名字,名字之间用空格隔开;  
      $<表示第一个依赖的文件名  
      %为通配符,和一个字符串中任意个数的字符相匹配  
      
   
      
   
      (3)Makefile的例子  
           --------------------   
        如果当前要编译一个c文件mov.c和一个汇编文件mov_asm.s,Makefile的内容如下:   
        TARGET  := mymov   
        SRC_A   := $(shell ls *.s)   
        SRC_C   := $(shell ls *.c)   
        OBJ_A   := $(patsubst %.s, %.o, $(SRC_A))   
        OBJ_C   := $(patsubst %.c, %.o, $(SRC_C))   
        
   
        CROSS   := arm-linux-   
        CC              := $(CROSS)gcc   
        AS              := $(CROSS)as   
        CFLAGS  += -march=armv7-a -static   
        
   
        all: $(OBJ_A) $(OBJ_C)   
                $(CC) $(CFLAGS) $^ -o $(TARGET)   
        
   
        %.o:%.s   
                $(AS) $< -o $@   
        %.o:%.c   
                $(CC) -c $< -o $@   
        
   
        install:   
                adb remount   
                adb push $(TARGET) /system/bin/   
        
   
        clean:   
                rm -f $(OBJ_A) $(OBJ_C) $(TARGET)   
        
   
        测试:   
        $>make  //生成elf格式的程序mymov   
        $>make install  //将该程序安装到开发板上   
        $>make clean
2021-10-25 11:38:15 评论

举报

只有小组成员才能发言,加入小组>>

5018个成员聚集在这个小组

加入小组

精选推荐

创建小组步骤

快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

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

快速回复 返回顶部 返回列表