/top.make

http://github.com/digego/extempore · Unknown · 51 lines · 38 code · 13 blank · 0 comment · 0 complexity · b8360025a281e7b1b231010c0153b098 MD5 · raw file

  1. OBJDIR := build/obj
  2. PERL := perl
  3. include config/$(EXTEMPORE_OS).make
  4. include src/component.make
  5. DEFINES := $(PLATFORM_DEFINES) \
  6. -D_GNU_SOURCE \
  7. -D__STDC_CONSTANT_MACROS \
  8. -D__STDC_LIMIT_MACROS \
  9. LLVM_CXXFLAGS := $(EXT_LLVM_CXXFLAGS)
  10. LLVM_LDFLAGS := $(EXT_LLVM_LDFLAGS)
  11. LLVM_LIBS := $(EXT_LLVM_LIBS)
  12. LIBS := \
  13. $(PLATFORM_LIBS) \
  14. $(LLVM_LIBS) \
  15. CXX := $(PLATFORM_CXX)
  16. LD := $(PLATFORM_LD)
  17. CXXFLAGS := \
  18. -w -O3 -MMD \
  19. $(LLVM_CXXFLAGS) \
  20. $(PLATFORM_CXXFLAGS) \
  21. $(DEFINES) \
  22. $(EXT_USER_ARGS) \
  23. -Iinclude \
  24. -fexceptions \
  25. -frtti \
  26. LDFLAGS := \
  27. $(EXT_LLVM_LDFLAGS) \
  28. $(PLATFORM_LDFLAGS) \
  29. extempore: $(OBJFILES)
  30. @echo + ld $(LDFLAGS) -o $@ $(OBJFILES) $(LIBS)
  31. @$(LD) $(LDFLAGS) -o $@ $(OBJFILES) $(LIBS)
  32. # C++ include-dependencies are tracked for us by the compiler. In the
  33. # following, we gather all the dependency information into one file and
  34. # include it.
  35. $(OBJDIR)/.deps: $(wildcard $(OBJDIR)/*.d)
  36. @mkdir -p $(@D)
  37. @$(PERL) build/mergedep.pl $@ $^
  38. -include $(OBJDIR)/.deps