• zBoot/Makefile


    #上层makefile调用执行make命令,执行的应该是第一个目标all
    HEAD = head.o
    SYSTEM = ../tools/zSystem
    #LD = gcc
    #TEST = -DTEST_DRIVER

    zOBJECTS = $(HEAD) inflate.o unzip.o misc.o

    CFLAGS = -O2 -DSTDC_HEADERS $(TEST)

    #.c文件编译为.s文件
    .c.s:
        $(CC) $(CFLAGS) -S -o $*.s $<
    #.s文件编译为.o文件
    .s.o:
        $(AS) -c -o $*.o $<
    #.c文件编译为.o文件
    .c.o:
        $(CC) $(CFLAGS) -c -o $*.o $<

    #执行的第一个目标,依赖于zSystem
    all:    zSystem

    #目标zSystem,依赖于piggy.o 和变量zOBJECTS定义的目标
    zSystem:    piggy.o $(zOBJECTS)
            $(LD) $(LDFLAGS) -o zSystem -Ttext 1000 $(zOBJECTS) piggy.o

    #head.s文件编译为head.o文件
    head.o:    head.s

    #head.S ../include/linux/tasks.h编译为head.s文件
    head.s: head.S ../include/linux/tasks.h
        $(CPP) -traditional head.S -o head.s

    #目标piggy.o,依赖于SYSTEM定义的变量 xtract 和 piggyback
    #./xtract--可执行程序一个参数是xtract $(SYSTEM)--输入的参数,是内核程序
    #gzip -9压缩文件,系统中要有gzip这个程序
    #./piggyback > piggy.o
    piggy.o:    $(SYSTEM) xtract piggyback
            ./xtract $(SYSTEM) | gzip -9 | ./piggyback > piggy.o
    #执行另一个目录下的make文件生成zsystem
    $(SYSTEM):
            $(MAKE) -C .. tools/zSystem

  • 相关阅读:
    mongoDB安装配置
    linux-批量修改目录下后缀shell
    备份mysql的shell
    mysql_DML_索引、视图
    mysql_存储过程
    mysql_备份_mysqldump
    mysql_DCL_grant/revoke
    mysql_DML_select_子查询
    mysql_DML_select_union
    mysql_DML_select_聚合join
  • 原文地址:https://www.cnblogs.com/xiaofengwei/p/3753345.html
Copyright © 2020-2023  润新知