Subversion Repositories Kolibri OS

Rev

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

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