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

Symbian

开发平台:

C/C++

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