Subversion Repositories Kolibri OS

Rev

Rev 8178 | Blame | Last modification | View Log | Download | RSS feed

  1. PROGRAM=example
  2. SOURCES=syscalls.o colors.go.o colors.gox os.go.o os.gox $(PROGRAM).go.o
  3. LIBOBJ=os.go.o syscalls.o colors.go.o
  4. GOFLAGS = -m32 -c -nostdlib -nostdinc -fno-stack-protector -fno-split-stack -static -fno-leading-underscore -fno-common -fno-pie -g -I.
  5. GO = gccgo
  6. GCC = gcc
  7. ASFLAGS= -g -f elf32 -F dwarf
  8. NASM= nasm $(ASFLAGS)
  9. OBJCOPY=objcopy
  10.  
  11. LDFLAGS=-n -T static.lds -m elf_i386 --no-ld-generated-unwind-info
  12.  
  13.  
  14. all: $(SOURCES) link
  15. clean:
  16.         rm -f *.o *.gox $(PROGRAM).kex
  17. link:
  18.         ld $(LDFLAGS) -o $(PROGRAM).kex $(SOURCES)
  19.         $(OBJCOPY) $(PROGRAM).kex -O binary
  20. %.gox: %.go.o
  21.         $(OBJCOPY) -j .go_export $< $@
  22. %.go.o: %.go
  23.         $(GO)   $(GOFLAGS) -o $@ -c $<
  24. %.o: %.s
  25.         $(NASM) $<
  26.