WaveEncoder_buildroot.mak 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. # ----------------------------------------------------------------------
  2. #
  3. # Project: C&M Video encoder sample
  4. #
  5. # ----------------------------------------------------------------------
  6. .PHONY: create_dir force_dependency
  7. BUILD_CONFIGURATION = RiscvLinux
  8. USE_FFMPEG = yes
  9. USE_PTHREAD = yes
  10. UNAME = $(shell uname -a)
  11. ifneq (,$(findstring i386, $(UNAME)))
  12. USE_32BIT = yes
  13. endif
  14. ifeq ($(USE_32BIT), yes)
  15. PLATFORM = nativelinux
  16. else
  17. PLATFORM = nativelinux_64bit
  18. endif
  19. CROSS_CC_PREFIX =
  20. VDI_C = vdi/linux/vdi.c
  21. VDI_OSAL_C = vdi/linux/vdi_osal.c
  22. MM_C =
  23. PLATFORM_FLAGS =
  24. ifeq ("$(BUILD_CONFIGURATION)", "NonOS")
  25. CROSS_CC_PREFIX = arm-none-eabi-
  26. VDI_C = vdi/nonos/vdi.c
  27. VDI_OSAL_C = vdi/nonos/vdi_osal.c
  28. MM_C = vdi/mm.c
  29. USE_FFMPEG = no
  30. USE_PTHREAD = no
  31. PLATFORM = none
  32. DEFINES = -DLIB_C_STUB
  33. PLATFORM_FLAGS =
  34. endif
  35. ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedLinux")
  36. CROSS_CC_PREFIX = arm-none-linux-gnueabi-
  37. PLATFORM = armlinux
  38. endif
  39. ifeq ("$(BUILD_CONFIGURATION)", "RiscvLinux")
  40. CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
  41. PLATFORM = riscvlinux
  42. USE_FFMPEG = no
  43. USE_PTHREAD = yes
  44. MM_C = vdi/mm.c
  45. endif
  46. CC = $(CROSS_CC_PREFIX)gcc
  47. CXX = $(CROSS_CC_PREFIX)g++
  48. LINKING=$(CC)
  49. AR = $(CROSS_CC_PREFIX)ar
  50. INCLUDES = -I./theoraparser/include -I./vpuapi -I./ffmpeg/include -I./sample/helper -I./vdi
  51. DEFINES += -DWAVE420
  52. CFLAGS += -g -I. -Wl,--fatal-warning $(INCLUDES) $(DEFINES) $(PLATFORM_FLAGS)
  53. ARFLAGS += cru
  54. LDFLAGS += $(PLATFORM_FLAGS) -L./theoraparser/
  55. #LDLIBS += -ltheoraparser
  56. ifeq ($(USE_FFMPEG), yes)
  57. LDLIBS += -lavformat -lavcodec -lavutil
  58. LDFLAGS += -L./ffmpeg/lib/$(PLATFORM)
  59. ifneq ($(USE_32BIT), yes)
  60. LDLIBS += -lz
  61. endif #USE_32BIT
  62. endif #USE_FFMPEG
  63. ifeq ($(USE_PTHREAD), yes)
  64. LDLIBS += -lpthread
  65. endif
  66. LDLIBS += -lm -lrt
  67. TARGET=libsfenc.so
  68. MAKEFILE=Wave420Enc.mak
  69. OBJDIR=obj
  70. ALLOBJS=*.o
  71. ALLDEPS=*.dep
  72. ALLLIBS=*.a
  73. RM=rm -f
  74. MKDIR=mkdir -p
  75. SOURCES = sample/helper/main_helper.c \
  76. sample/helper/vpuhelper.c \
  77. sample/helper/bitstream/bitstreamfeeder.c \
  78. sample/helper/bitstream/bitstreamreader.c \
  79. sample/helper/bitstream/binaryreader.c \
  80. sample/helper/bitstream/bsfeeder_fixedsize_impl.c \
  81. sample/helper/bitstream/bsfeeder_framesize_impl.c \
  82. sample/helper/bitstream/bsfeeder_size_plus_es_impl.c \
  83. sample/helper/comparator/bin_comparator_impl.c \
  84. sample/helper/comparator/comparator.c \
  85. sample/helper/comparator/md5_comparator_impl.c \
  86. sample/helper/comparator/yuv_comparator_impl.c \
  87. sample/helper/display/fbdev_impl.c \
  88. sample/helper/display/hdmi_impl.c \
  89. sample/helper/display/simplerenderer.c \
  90. sample/helper/misc/cfgParser.c \
  91. sample/helper/misc/cnm_fpga.c \
  92. sample/helper/misc/cnm_video_helper.c \
  93. sample/helper/misc/container.c \
  94. sample/helper/misc/datastructure.c \
  95. sample/helper/misc/platform.c \
  96. sample/helper/misc/pbu.c \
  97. sample/helper/misc/debug.c \
  98. sample/helper/yuv/yuvfeeder.c \
  99. sample/helper/yuv/yuvLoaderfeeder.c
  100. SOURCES += $(VDI_C) \
  101. $(VDI_OSAL_C) \
  102. $(MM_C) \
  103. vpuapi/product.c \
  104. vpuapi/vpuapifunc.c \
  105. vpuapi/vpuapi.c \
  106. vpuapi/coda9/coda9.c \
  107. vpuapi/wave/common/common.c \
  108. vpuapi/wave/coda7q/coda7q.c \
  109. vpuapi/wave/wave4/wave4.c \
  110. vpuapi/wave/wave5/wave5.c
  111. OBJECTNAMES=$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCES)))
  112. OBJECTPATHS=$(addprefix $(OBJDIR)/,$(notdir $(OBJECTNAMES)))
  113. $(TARGET): create_dir $(OBJECTPATHS) #libtheoraparser.a
  114. $(LINKING) -fPIC -shared -o $@ $(LDFLAGS) -Wl,-gc-section -Wl,--start-group $(OBJECTPATHS) $(LDLIBS) -Wl,--end-group
  115. -include $(OBJECTPATHS:.o=.dep)
  116. clean:
  117. $(RM) $(TARGET)
  118. $(RM) $(OBJDIR)/$(ALLOBJS)
  119. $(RM) $(OBJDIR)/$(ALLDEPS)
  120. $(RM) theoraparser/$(ALLOBJS)
  121. $(RM) theoraparser/$(ALLLIBS)
  122. $(RM) theoraparser/$(ALLDEPS)
  123. #libtheoraparser.a: force_dependency
  124. # cd theoraparser; make
  125. $(OBJDIR)/main_helper.o : sample/helper/main_helper.c $(MAKEFILE)
  126. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  127. $(OBJDIR)/vpuhelper.o : sample/helper/vpuhelper.c $(MAKEFILE)
  128. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  129. $(OBJDIR)/bitstreamfeeder.o : sample/helper/bitstream/bitstreamfeeder.c $(MAKEFILE)
  130. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  131. $(OBJDIR)/bitstreamreader.o : sample/helper/bitstream/bitstreamreader.c $(MAKEFILE)
  132. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  133. $(OBJDIR)/binaryreader.o : sample/helper/bitstream/binaryreader.c $(MAKEFILE)
  134. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  135. $(OBJDIR)/bsfeeder_fixedsize_impl.o : sample/helper/bitstream/bsfeeder_fixedsize_impl.c $(MAKEFILE)
  136. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  137. $(OBJDIR)/bsfeeder_framesize_impl.o : sample/helper/bitstream/bsfeeder_framesize_impl.c $(MAKEFILE)
  138. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  139. $(OBJDIR)/bsfeeder_size_plus_es_impl.o : sample/helper/bitstream/bsfeeder_size_plus_es_impl.c $(MAKEFILE)
  140. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  141. $(OBJDIR)/bin_comparator_impl.o : sample/helper/comparator/bin_comparator_impl.c $(MAKEFILE)
  142. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  143. $(OBJDIR)/comparator.o : sample/helper/comparator/comparator.c $(MAKEFILE)
  144. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  145. $(OBJDIR)/md5_comparator_impl.o : sample/helper/comparator/md5_comparator_impl.c $(MAKEFILE)
  146. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  147. $(OBJDIR)/yuv_comparator_impl.o : sample/helper/comparator/yuv_comparator_impl.c $(MAKEFILE)
  148. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  149. $(OBJDIR)/fbdev_impl.o : sample/helper/display/fbdev_impl.c $(MAKEFILE)
  150. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  151. $(OBJDIR)/hdmi_impl.o : sample/helper/display/hdmi_impl.c $(MAKEFILE)
  152. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  153. $(OBJDIR)/mixer.o : sample/helper/display/mixer.c $(MAKEFILE)
  154. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  155. $(OBJDIR)/simplerenderer.o : sample/helper/display/simplerenderer.c $(MAKEFILE)
  156. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  157. $(OBJDIR)/cfgParser.o : sample/helper/misc/cfgParser.c $(MAKEFILE)
  158. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  159. $(OBJDIR)/cnm_fpga.o : sample/helper/misc/cnm_fpga.c $(MAKEFILE)
  160. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  161. $(OBJDIR)/cnm_video_helper.o : sample/helper/misc/cnm_video_helper.c $(MAKEFILE)
  162. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  163. $(OBJDIR)/container.o : sample/helper/misc/container.c $(MAKEFILE)
  164. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  165. $(OBJDIR)/datastructure.o : sample/helper/misc/datastructure.c $(MAKEFILE)
  166. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  167. $(OBJDIR)/platform.o : sample/helper/misc/platform.c $(MAKEFILE)
  168. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  169. $(OBJDIR)/pbu.o : sample/helper/misc/pbu.c $(MAKEFILE)
  170. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  171. $(OBJDIR)/yuvfeeder.o : sample/helper/yuv/yuvfeeder.c $(MAKEFILE)
  172. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  173. $(OBJDIR)/yuvLoaderfeeder.o : sample/helper/yuv/yuvLoaderfeeder.c $(MAKEFILE)
  174. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  175. $(OBJDIR)/debug.o : sample/helper/misc/debug.c $(MAKEFILE)
  176. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  177. $(OBJDIR)/vdi.o : $(VDI_C) $(MAKEFILE)
  178. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  179. $(OBJDIR)/vdi_osal.o : $(VDI_OSAL_C) $(MAKEFILE)
  180. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  181. ifneq ("$(MM_C)", "")
  182. $(OBJDIR)/mm.o : $(MM_C) $(MAKEFILE)
  183. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  184. endif
  185. $(OBJDIR)/product.o : vpuapi/product.c $(MAKEFILE)
  186. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  187. $(OBJDIR)/vpuapifunc.o : vpuapi/vpuapifunc.c $(MAKEFILE)
  188. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  189. $(OBJDIR)/vpuapi.o : vpuapi/vpuapi.c $(MAKEFILE)
  190. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  191. $(OBJDIR)/coda9.o : vpuapi/coda9/coda9.c $(MAKEFILE)
  192. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  193. $(OBJDIR)/common.o : vpuapi/wave/common/common.c $(MAKEFILE)
  194. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  195. $(OBJDIR)/coda7q.o : vpuapi/wave/coda7q/coda7q.c $(MAKEFILE)
  196. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  197. $(OBJDIR)/wave4.o : vpuapi/wave/wave4/wave4.c $(MAKEFILE)
  198. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  199. $(OBJDIR)/wave5.o : vpuapi/wave/wave5/wave5.c $(MAKEFILE)
  200. $(CC) -fPIC -shared $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
  201. create_dir:
  202. ifeq (,$(findstring $(OBJDIR),$(wildcard $(OBJDIR) )))
  203. -mkdir -p $(OBJDIR)
  204. endif
  205. force_dependency :
  206. true