Advertisement
Donny3000

Makefile (DSP-for-Dummies)

Jan 26th, 2015
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.62 KB | None | 0 0
  1. #CROSS_COMPILE ?= arm-linux-
  2. CROSS_COMPILE ?= arm-linux-gnueabihf-
  3.  
  4. CC := $(CROSS_COMPILE)gcc
  5.  
  6. CFLAGS := -O3 -Wall -Wextra -Wno-unused-parameter -std=c99
  7. LDFLAGS := -Wl,--as-needed
  8. LIBS := -lm /opt/embedded/gumstix/dsp-tools/dsp-for-dummies/libasound.so.2.0.0
  9. DSP_LIBS := -l./dsplib.lib
  10.  
  11. override CFLAGS += -D_GNU_SOURCE
  12.  
  13. DSP_API := 1
  14.  
  15. override CFLAGS += -DDSP_API=$(DSP_API)
  16.  
  17. DEBUG := 1
  18.  
  19. ifdef DEBUG
  20.   override CFLAGS += -DDEBUG
  21. endif
  22.  
  23. DSP_TOOLS := /opt/embedded/gumstix/dsp-tools/ti-c6000
  24. DSP_DOFFBUILD := /opt/embedded/gumstix/dsp-tools/doffbuild
  25.  
  26. CL6X := $(DSP_TOOLS)/bin/cl6x
  27. LNK6X := $(DSP_TOOLS)/bin/lnk6x
  28. DLLCREATE := $(DSP_DOFFBUILD)/bin/DLLcreate
  29.  
  30. all:
  31.  
  32. # dummy
  33.  
  34. dummy: dummy_arm.o dsp_bridge.o log.o
  35.  
  36. bins += dummy
  37.  
  38. dummy.x64P: dummy_dsp.o64P dummy_bridge.o64P
  39.  
  40. dummy.dll64P: dummy.x64P
  41. dummy.dll64P: override CFLAGS := -I$(DSP_TOOLS)/include -I/opt/ti/dsplib_c64Px_3_4_0_0/packages
  42.  
  43. bins += dummy.dll64P
  44.  
  45. all: $(bins)
  46.  
  47. # pretty print
  48. ifndef V
  49. QUIET_CC    = @echo '   CC         '$@;
  50. QUIET_LINK  = @echo '   LINK       '$@;
  51. QUIET_CLEAN = @echo '   CLEAN      '$@;
  52. QUIET_DLL   = @echo '   DLLCREATE  '$@;
  53. endif
  54.  
  55. %.o64P:: %.s
  56.     $(QUIET_CC)$(CL6X) $(CFLAGS) -O3 -mw -mv=64p -eo.o64P -c $<
  57.  
  58. %.o64P:: %.c
  59.     $(QUIET_CC)$(CL6X) $(CFLAGS) -O3 -mw -mv=64p -eo.o64P -c $<
  60.  
  61. %.x64P::
  62.     $(QUIET_LINK)$(LNK6X) -i. -r -cr --localize='$$bss' -o $@ $+ $(DSP_LIBS)
  63.  
  64. %.dll64P::
  65.     $(QUIET_DLL)$(DLLCREATE) $< -o=$@
  66.  
  67. %.o:: %.c
  68.     $(QUIET_CC)$(CC) $(CFLAGS) -MMD -o $@ -c $<
  69.  
  70. dummy:
  71.     $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
  72.  
  73. clean:
  74.     $(QUIET_CLEAN)$(RM) $(bins) *.o *.o64P *.x64P
  75.  
  76. -include *.d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement