makefile.gcc
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:4k
源码类别:

Symbian

开发平台:

C/C++

  1. #===================================================================
  2. #  AMR WB Floating-point Speech Codec  
  3. #===================================================================
  4. #
  5. #      File             : makefile.gcc
  6. #      Purpose          : gcc makefile for AMR-WB floating point
  7. #                       ; standalone encoder/decoder program
  8. #
  9. #                             make [MODE=DEBUG] [VAD=VAD#] [target [target...]]
  10. #
  11. #                         Important targets are:
  12. #                             default           (same as not specifying a
  13. #                                                target at all)
  14. #                                               remove all objects and libs;
  15. #                                               build libraries; then build
  16. #                                               encoder & decoder programs
  17. #                             depend            make new dependency list
  18. #                             clean             Remove all object/executable/
  19. #                                               verification output files
  20. #                             clean_depend      Clean dependency list
  21. #                             clean_all         clean & clean_depend & rm *.a
  22. #
  23. #
  24. #                         Specifying MODE=DEBUG compiles in debug mode
  25. #                         (libaries compiled in DEBUG mode will be linked)
  26. #
  27. #
  28. #                         The makefile uses the GNU C compiler (gcc); change
  29. #                         the line CC=gcc below if another compiler is desired
  30. #                         (CFLAGSxxx probably must be changed then as well)
  31. #                         
  32. #
  33. # $Id $
  34. #
  35. #****************************************************************
  36. CC = gcc
  37. MAKEFILENAME = makefile
  38. # Use MODE=DEBUG for debuggable library (default target builds both)
  39. #
  40. # default mode = NORM ==> no debug
  41. #
  42. MODE=NORM
  43. #
  44. # compiler flags (for normal, DEBUG compilation)
  45. #
  46. CFLAGS_NORM  = -O4 
  47. CFLAGS_DEBUG = -g -DDEBUG
  48. CFLAGS = -Wall  -I. $(CFLAGS_$(MODE))
  49. CFLAGSDEPEND = -MM $(CFLAGS)                    # for make depend
  50. TMP=$(MODE:NORM=)
  51. TMP2=$(TMP:DEBUG=_debug)
  52. #
  53. # source/object files
  54. #
  55. ENCODER_SRCS=enc_acelp.c enc_dtx.c enc_gain.c enc_if.c enc_lpc.c enc_main.c enc_rom.c enc_util.c encoder.c if_rom.c
  56. DECODER_SRCS=dec_acelp.c dec_dtx.c dec_gain.c dec_if.c dec_lpc.c dec_main.c dec_rom.c dec_util.c decoder.c if_rom.c
  57. ENCODER_OBJS=$(ENCODER_SRCS:.c=.o) 
  58. DECODER_OBJS=$(DECODER_SRCS:.c=.o)
  59. ALL_SRCS=$(ENCODER_SRCS) $(DECODER_SRCS)
  60. #
  61. # default target: build standalone speech encoder and decoder
  62. #
  63. default: clean_all encoder decoder
  64. encoder: $(ENCODER_OBJS)
  65. $(CC) -o encoder $(CFLAGS) $(ENCODER_OBJS) $(LDFLAGS) -lm
  66. decoder: $(DECODER_OBJS)
  67. $(CC) -o decoder $(CFLAGS) $(DECODER_OBJS) $(LDFLAGS)
  68. #
  69. # how to compile a .c file into a .o
  70. #
  71. .SUFFIXES: .c .h .o
  72. .c.o:
  73. $(CC) -c $(CFLAGS) $<
  74. #
  75. # make / clean dependency list
  76. #
  77. depend:
  78. $(MAKE) -f $(MAKEFILENAME) $(MFLAGS) $(MAKEDEFS) clean_depend
  79. $(CC) $(CFLAGSDEPEND) $(ALL_SRCS) >> $(MAKEFILENAME)
  80. clean_depend:
  81. chmod u+w $(MAKEFILENAME)
  82. (awk 'BEGIN{f=1}{if (f) print $0}/^# DO NOT DELETE THIS LINE -- make depend depends on it./{f=0}'
  83.     < $(MAKEFILENAME) > .depend && 
  84. mv .depend $(MAKEFILENAME)) || exit 1;
  85. #
  86. # remove object/executable files
  87. #
  88. clean:
  89. rm -f *.o core
  90. clean_all: clean
  91. rm -f encoder decoder
  92. # DO NOT DELETE THIS LINE -- make depend depends on it.
  93. enc_acelp.o: enc_acelp.c typedef.h enc_util.h
  94. enc_dtx.o: enc_dtx.c typedef.h enc_lpc.h enc_util.h
  95. enc_gain.o: enc_gain.c typedef.h enc_util.h
  96. enc_if.o: enc_if.c  enc_if.h if_rom.h enc.h
  97. enc_lpc.o: enc_lpc.c typedef.h enc_util.h
  98. enc_main.o: enc_main.c enc_dtx.h enc_acelp.h enc_lpc.h enc_main.h enc_gain.h enc_util.h
  99. enc_rom.o: enc_rom.c typedef.h
  100. enc_util.o: enc_util.c typedef.h enc_main.h enc_lpc.h
  101. encoder.o: encoder.c typedef.h enc_if.h
  102. if_rom.o: if_rom.c typedef.h
  103. dec_acelp.o: dec_acelp.c typedef.h dec_util.h
  104. dec_dtx.o: dec_dtx.c typedef.h dec_dtx.h dec_lpc.h dec_util.h
  105. dec_gain.o: dec_gain.c typedef.h dec_util.h
  106. dec_if.o: dec_if.c typedef.h dec_if.h if_rom.h dec.h
  107. dec_lpc.o: dec_lpc.c typedef.h dec_util.h
  108. dec_main.o: dec_main.c typedef.h dec_main.h dec_dtx.h dec_acelp.h dec_gain.h dec_lpc.h dec_util.h
  109. dec_rom.o: dec_rom.c typedef.h
  110. dec_util.o: dec_util.c typedef.h dec_main.h dec_lpc.h
  111. decoder.o: decoder.c typedef.h dec_if.h