zoukankan      html  css  js  c++  java
  • kernel/Makefile

    #
    # Makefile for the linux kernel.
    #
    # Note! Dependencies are done automagically by 'make dep', which also
    # removes any old dependencies. DON'T put your own dependencies here
    # unless it's something special (ie not a .c file).
    #
    # Note 2! The CFLAGS definitions are now in the main makefile...
    #.S文件编译为.s文件
    .S.s:
        $(CPP) -traditional $< -o $*.s
    #.c文件编译为.s文件
    .c.s:
        $(CC) $(CFLAGS) -S $<
    #.s文件编译为.o文件    
    .s.o:
        $(AS) -c -o $*.o $<
    #.c文件编译为.o文件    
    .c.o:
        $(CC) $(CFLAGS) -c $<
    #定义变量
    OBJS  = sched.o sys_call.o traps.o irq.o dma.o fork.o
         panic.o printk.o vsprintf.o sys.o module.o ksyms.o exit.o
        signal.o mktime.o ptrace.o ioport.o itimer.o
        info.o ldt.o time.o
    #此文件夹最后的编译目标
    all: kernel.o
    #将定义的.o文件链接为一个kernel.o闻不见
    kernel.o: $(OBJS)
        $(LD) -r -o kernel.o $(OBJS)
        sync

    sys_call.s: sys_call.S

    sys_call.o: sys_call.s

    sched.o: sched.c
        $(CC) $(CFLAGS) $(PROFILING) -fno-omit-frame-pointer -c $<

    ksyms.lst: ksyms.S ../include/linux/autoconf.h
        $(CPP) $(CFLAGS) $< > $@
    #生成ksyms.s文件
    ksyms.s: ksyms.sh ksyms.lst
        sh $< > $@

    ksyms.o: ksyms.s
    #确定依赖
    dep:
        $(CPP) -M *.c > .depend

    dummy:

    #
    # include a dependency file if one exists
    #
    #引入相关依赖
    ifeq (.depend,$(wildcard .depend))
    include .depend
    endif

  • 相关阅读:
    几种连接数据库的OLEDB驱动程序
    Javascript如何访问和处理系统文件
    如何自学Java 经典
    Android Studio 修改 包名
    Android Studio -导入项目 gradle处理
    Android Studio- 把项目提交到SVN中操作方法
    android studio 运行太慢了
    Java多线程 -sleep 用法详解
    Java -native 方法
    Java多线程 -yield用法
  • 原文地址:https://www.cnblogs.com/xiaofengwei/p/3774003.html
Copyright © 2011-2022 走看看