Advertisement
Guest User

Untitled

a guest
Jan 12th, 2013
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. PROJECT = kernel
  2. CC = arm-none-eabi-gcc
  3. AS = arm-none-eabi-as
  4. OBJCOPY = arm-none-eabi-objcopy
  5. CFLAGS = -std=c99 -Wall -O2 -nostdlib -nostartfiles -ffreestanding
  6. SRCDIR = src
  7. LDFLAGS = -T $(SRCDIR)/memmap -lm
  8. BUILDDIR = build
  9. BINARY = $(BUILDDIR)/$(PROJECT)
  10. CFILES = $(wildcard $(SRCDIR)/*.c)
  11. OBJFILES = $(patsubst $(SRCDIR)/%.c,$(BUILDDIR)/%.o,$(CFILES))
  12. SFILES = $(wildcard $(SRCDIR)/*.s)
  13. OBJFILES += $(patsubst $(SRCDIR)/%.s,$(BUILDDIR)/%.o,$(SFILES))
  14. DEPENDFILE = .makedepends
  15.  
  16. all: depend $(BINARY).img $(BINARY).hex
  17.  
  18. .PHONY: clean
  19. clean:
  20. rm -rf $(BUILDDIR)
  21. rm -f $(DEPENDFILE)
  22.  
  23. .PHONY: depend
  24. depend: $(SRC)
  25. $(CC) -MM $(CFILES) > $(DEPENDFILE)
  26.  
  27. $(BUILDDIR):
  28. mkdir -p $(BUILDDIR)
  29.  
  30. $(BINARY).elf: $(OBJFILES)
  31. $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
  32.  
  33. $(BINARY).img : $(BINARY).elf
  34. $(OBJCOPY) $< -O binary $@
  35.  
  36. $(BINARY).hex : $(BINARY).elf
  37. $(OBJCOPY) $< -O ihex $@
  38.  
  39. $(BUILDDIR)/%.o: $(SRCDIR)/%.c $(BUILDDIR)
  40. $(CC) $(CFLAGS) -c -o $@ $<
  41.  
  42. $(BUILDDIR)/%.o : $(SRCDIR)/%.s
  43. $(AS) -o $@ $<
  44.  
  45. -include $(DEPENDFILE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement