当前位置:Gxlcms > 数据库问题 > Gdb调试工具/ Makfile项目管理

Gdb调试工具/ Makfile项目管理

时间:2021-07-01 10:21:17 帮助过:17人阅读

  • "@"不显示命令本身,只显示结果。如:"@echo"clean done ""
  •  

    其他

        -make默认执行第一个出现的目标,可通过make dst指定要执行的目标

        -distclean目标

        -install目标

    -make -C指定目录 进入指定目录,调用里面的Makefile

     

     

    简单使用MakeFile

    python@ubuntu:~/linuxC/calc$ cat Makefile

     

    #目标:依赖(条件)

    #    命令

    #阶段一

    #app:add.c sub.c dive.c mul.c main.c

    #    gcc add.c sub.c dive.c mul.c main.c -o app

    #

     

    #阶段二

    #app:add.o sub.o dive.o mul.o main.o

    #    gcc add.o sub.o dive.o mul.o main.o -o app

     

    #add.o:add.c

    #    gcc -c add.c

    #sub.o:sub.c

    #    gcc -c sub.c

    #dive.o:dive.c

    #    gcc -c dive.c

    #mul.o:mul.c

    #    gcc -c mul.c

    #main.o:main.c

    #    gcc -c main.c

     

    #阶段三

    # $@表示目标,$^表示所有依赖,$<表示依赖中的第一个

    #obj=add.o sub.o mul.o dive.o main.o

    #src = $(wildcard *.c)

    #obj = $(patsubst %.c,%.o,$(src))

    #target = app

     

    #$(target):$(obj)

    #    gcc $^ -o $@

     

    #%.o:%.c

    #    gcc -c $< -o $@

     

     

    #阶段四

    CPPFLAGS= -Iinclude

    CFLAGS= -g -Wall

    LDFLAGS=

    CC=gcc

    #CC=arm-linux-gcc

     

    src = $(wildcard *.c)

    obj = $(patsubst %.c,%.o,$(src))

    target = app

     

    $(target):$(obj)

        $(CC) $^ $(LDFLAGS) -o $@

     

    %.o:%.c

        $(CC) -c $< $(CFLAGS) $(CPPFLAGS) -o $@

     

    .PHONY:clean

     

    #彻底清除生生过程文件

    clean:

        -rm -f *.o

        -rm -f app

     

    #彻底清除生生过程文件和生成配置文件

    distclean:

        rm /usr/bin/app

    install:

        cp app /usr/bin

     

     

    test:

        @echo $(src)

        @echo $(obj)

     

     

     

     

     

    Gdb调试工具/ Makfile项目管理

    标签:efi   bsp   16进制   gdb调试   disable   时间   isp   观测   a.out   

    人气教程排行