Subversion Repositories Kolibri OS

Rev

Rev 1238 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ROOT=../../../develop/libraries/framework/trunk
  2.  
  3. include ../../../develop/libraries/framework/trunk/config.mk
  4.  
  5. # Note that kobra_st.o MUST be first and kobra.o last.
  6. OBJECTS=kobra_st.o $(ROOT)/stdlib/heap.o $(ROOT)/stdlib/malloc.o $(ROOT)/stdlib/stdlib.o $(ROOT)/kolibri/kolibri.o $(ROOT)/libIPC/ipc.o kobra.o
  7.  
  8. # Set real path to kolibri.img if you want to use install option
  9. KOLIBRI_IMG=../../../../../../0.7.x-night/kolibri.img
  10.  
  11. # Path to kobra.kex on floppy (directory should be created before installing)
  12. DESTDIR=kobra/
  13.  
  14. # CC=gcc
  15. # AS=gcc
  16. # LD=ld
  17. # OBJCOPY=objcopy
  18. # READELF=readelf
  19. # MCOPY=mcopy
  20. # RM=rm -rf
  21.  
  22. # CFLAGS=-c -m32 -O2
  23. # ASFLAGS=-c -m32
  24. # LDFLAGS=-nostdlib -T kolibri.ld -melf_i386
  25. OBJCOPYFLAGS=-O binary
  26. READELFFLAGS=--syms
  27. MCOPYFLAGS=-D o
  28.  
  29. # .c.o:
  30. #       $(CC) $(CFLAGS) $<
  31. #
  32. # .s.o:
  33. #       $(AS) $(ASFLAGS) $<
  34.  
  35. all: $(OBJECTS)
  36.         $(LD) $(LDFLAGS) -o kobra.elf $(OBJECTS)
  37.         $(OBJCOPY) $(OBJCOPYFLAGS) kobra.elf kobra.kex
  38.  
  39. debug: all
  40.         $(READELF) $(READELFFLAGS) kobra.elf | ./symbols2dbg.py >kobra.dbg
  41.  
  42. install: kobra.kex $(KOLIBRI_IMG)
  43.         @$(MCOPY) $(MCOPYFLAGS) -i $(KOLIBRI_IMG) kobra.kex ::/$(DESTDIR) && echo kobra.kex copied
  44.         @ls kobra.dbg >/dev/null && $(MCOPY) $(MCOPYFLAGS) -i $(KOLIBRI_IMG) kobra.dbg ::/$(DESTDIR) && echo kobra.dbg copied || echo no kobra.dbg
  45.  
  46. clean:
  47.         $(RM) *.o kobra.kex kobra.dbg
  48.        
  49.  
  50. help:
  51.         @echo "Available options:"
  52.         @echo "  all - make kobra.kex"
  53.         @echo "  debug - same + kobra.dbg"
  54.         @echo "  install - same + copying them to image"
  55.         @echo "You should gcc, ld & objcopy (or other C compiler and linker, but you may need correct Makefile to use them)."
  56.         @echo "If you want to use debug option you should have readelf. If you want to use install you should have shell"
  57.         @echo "(sh, bash, etc) & mtools."
  58.