Subversion Repositories Kolibri OS

Rev

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

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