Subversion Repositories Kolibri OS

Rev

Rev 851 | Rev 859 | 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. DEFS = -DUSE_SMP
  8.  
  9. CFLAGS = -c -O2 -DCONFIG_DEBUG -I $(INCLUDE) -fomit-frame-pointer -fno-builtin-printf -masm=intel
  10. LDFLAGS = -shared -s -Map kernel.map --image-base 0x100000 --file-alignment 32
  11.  
  12.  
  13. KERNEL_SRC:=                    \
  14.                 kernel.asm      \
  15.                 init.c          \
  16.                 mm.c            \
  17.                 spinlock.c              \
  18.                 boot/boot.asm   \
  19.                 boot/start.asm
  20.                
  21.  
  22. KERNEL_OBJS = $(patsubst %.s, bin/%.obj, $(patsubst %.asm, bin/%.obj,\
  23.             $(patsubst %.c, bin/%.obj, $(KERNEL_SRC))))
  24.  
  25.  
  26. all: kernel.gz
  27.  
  28. kernel.gz :kernel.mnt
  29.         7z a -tgzip kernel.gz kernel.mnt  
  30.  
  31. kernel.mnt: $(KERNEL_OBJS) Makefile ld.x
  32.         ld $(LDFLAGS) -T ld.x -o $@ $(KERNEL_OBJS)
  33.  
  34. bin/%.obj : core/%.c Makefile
  35.         $(CC) $(CFLAGS) -o $@ $<
  36.        
  37. bin/%.obj: %.asm
  38.         $(FASM) $< $@
  39.  
  40. all: $(SUBDIRS)
  41.  
  42. .PHONY: all
  43.