Subversion Repositories Kolibri OS

Rev

Rev 837 | Rev 854 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. CC = gcc
  3. FASM = fasm.exe
  4.  
  5. INCLUDE = include
  6.  
  7. CFLAGS = -c -O2 -I $(INCLUDE) -fomit-frame-pointer -fno-builtin-printf -masm=intel
  8. LDFLAGS = -shared -s -Map kernel.map --image-base 0x100000 --file-alignment 32
  9.  
  10.  
  11. KERNEL_SRC:=                    \
  12.                 kernel.asm      \
  13.                 boot/boot.asm   \
  14.                 boot/init.asm
  15.                
  16.  
  17. KERNEL_OBJS = $(patsubst %.s, bin/%.obj, $(patsubst %.asm, bin/%.obj,\
  18.             $(patsubst %.c, bin/%.obj, $(KERNEL_SRC))))
  19.  
  20.  
  21. all: kernel.gz
  22.  
  23. kernel.gz :kernel.mnt
  24.         7z a -tgzip kernel.gz kernel.mnt  
  25.  
  26. kernel.mnt: $(KERNEL_OBJS) Makefile ld.x
  27.         ld $(LDFLAGS) -T ld.x -o $@ $(KERNEL_OBJS)
  28.        
  29. bin/%.obj: %.asm
  30.         $(FASM) $< $@
  31.  
  32. bin/%.obj : core/%.c
  33.         $(CC) $(CFLAGS) -o $@ -c $<
  34.  
  35. all: $(SUBDIRS)
  36.  
  37. .PHONY: all
  38.