makefile.kernel

Code:
  1. #makefile for kernel   
  2.   
  3. ENTRYPOINT=0x30400  
  4.   
  5. #Programs,flags,etc   
  6. ASM=nasm  
  7. CC=gcc  
  8. LD=ld  
  9. ASMFLAGS=-f elf   
  10. CFLAGS=-I include/ -c -fno-builtin -fno-stack-protector   
  11. LDFLAGS=-Ttext $(ENTRYPOINT) -s   
  12.   
  13. #This program    
  14. TARGET=kernel.bin   
  15. OBJS=kernel/kernel.o kernel/global.o kernel/proc.o /   
  16.     kernel/init_8259a.o kernel/protect.o kernel/clock.o /   
  17.     lib/lib_kernel_in_asm.o lib/lib_kernel_in_c.o /   
  18.     kernel/system_call_asm.o kernel/system_call_c.o /   
  19.     kernel/init_8253.o kernel/keyboard.o kernel/tty.o /   
  20.     kernel/console.o kernel/ipc.o   
  21.   
  22. #All phony target   
  23. .PHONY:cp everything clean realclean   
  24.   
  25. cp:everything   
  26.     sudo mount -o loop b.img /mnt/floppy/   
  27.     sudo cp -fv kernel.bin /mnt/floppy/   
  28.     sudo umount /mnt/floppy   
  29.   
  30. everything:$(TARGET)   
  31.   
  32. clean:   
  33.     sudo rm -f $(OBJS)   
  34.   
  35. realclean:   
  36.     sudo rm -f $(OBJS) $(TARGET)   
  37.   
  38. $(TARGET):$(OBJS)   
  39.     $(LD) $(LDFLAGS) -o $@ $(OBJS)   
  40.   
  41. kernel/kernel.o:kernel/kernel.asm   
  42.     $(ASM) $(ASMFLAGS) -o $@ $<  
  43.        
  44. lib/lib_kernel_in_asm.o:lib/lib_kernel_in_asm.asm   
  45.     $(ASM) $(ASMFLAGS) -o $@ $<  
  46.   
  47. kernel/system_call_asm.o:kernel/system_call.asm   
  48.     $(ASM) $(ASMFLAGS) -o $@ $<    
  49.        
  50. lib/lib_kernel_in_c.o:lib/lib_kernel_in_c.c include/type.h/   
  51.     include/proto.h include/const.h include/protect.h include/proc.h /   
  52.     include/global.h include/console.h include/tty.h include/ipc.h   
  53.     $(CC) $(CFLAGS) -o $@ $<  
  54.   
  55. kernel/global.o:kernel/global.c include/type.h include/const.h /   
  56.   include/protect.h include/console.h include/tty.h include/proto.h /   
  57.   include/proc.h include/ipc.h   
  58.     $(CC) $(CFLAGS) -o $@ $<  
  59.        
  60. kernel/init_8259a.o:kernel/init_8259a.c include/type.h /   
  61.     include/proto.h include/protect.h include/proc.h include/console.h /   
  62.     include/tty.h include/global.h include/const.h include/ipc.h   
  63.     $(CC) $(CFLAGS) -o $@ $<  
  64.     
  65. kernel/protect.o:kernel/protect.c include/type.h include/const.h /   
  66.     include/protect.h include/proc.h include/console.h include/tty.h /   
  67.     include/global.h include/proto.h include/ipc.h   
  68.     $(CC) $(CFLAGS) -o $@ $<  
  69.        
  70. kernel/proc.o:kernel/proc.c include/type.h include/const.h /   
  71.     include/proto.h include/protect.h include/proc.h include/console.h /   
  72.     include/tty.h include/global.h include/ipc.h   
  73.     $(CC) $(CFLAGS) -o $@ $<  
  74.   
  75. kernel/clock.o:kernel/clock.c include/type.h include/const.h /   
  76.     include/protect.h include/proc.h include/console.h include/tty.h /   
  77.     include/global.h include/proto.h include/ipc.h   
  78.     $(CC) $(CFLAGS) -o $@ $<  
  79.        
  80. kernel/system_call_c.o:kernel/system_call.c include/type.h include/const.h /   
  81.     include/proto.h include/protect.h include/proc.h include/console.h include/tty.h /   
  82.     include/global.h include/ipc.h   
  83.     $(CC) $(CFLAGS) -o $@ $<  
  84.        
  85. kernel/init_8253.o:kernel/init_8253.c include/type.h include/console.h include/tty.h /   
  86.   include/protect.h include/proc.h include/proto.h include/const.h include/ipc.h   
  87.     $(CC) $(CFLAGS) -o $@ $<  
  88.        
  89. kernel/keyboard.o:kernel/keyboard.c include/type.h include/const.h /   
  90.     include/protect.h include/proc.h include/proto.h include/console.h /   
  91.     include/tty.h include/global.h include/keymap.h include/keyboard.h include/ipc.h   
  92.     $(CC) $(CFLAGS) -o $@ $<  
  93.        
  94. kernel/tty.o:kernel/tty.c include/type.h include/proto.h include/keyboard.h /   
  95.     include/const.h include/protect.h include/proc.h include/console.h include/tty.h /   
  96.     include/global.h include/ipc.h   
  97.     $(CC) $(CFLAGS) -o $@ $<  
  98.        
  99. kernel/console.o:kernel/console.c include/type.h include/const.h include/protect.h /   
  100.     include/proc.h include/console.h include/tty.h include/global.h include/proto.h /   
  101.     include/ipc.h   
  102.     $(CC) $(CFLAGS) -o $@ $<  
  103.        
  104. kernel/ipc.o:kernel/ipc.c include/type.h include/const.h include/console.h include/tty.h /   
  105.     include/protect.h include/proc.h include/ipc.h include/global.h include/proto.h   
  106.     $(CC) $(CFLAGS) -o $@ $<  
  107.       

 

你可能感兴趣的:(makefile.kernel)