########################################################################################### # # Designed to build Sdk using generic.makefile # ---------------------------------------------------------------------------------- # Author : aurelien.morelle@parrot.com # Date : 2007/05/16 # ########################################################################################### include common.makefile GENERIC_LIBRARY_TARGET_DIR=$(SDK_TARGET_DIR) GENERIC_TARGET_LIBRARY=$(SDK_TARGET_DIR)/libsdk.a GENERIC_LIBRARY_SOURCE_FILES= \ $(OS_PATH)/vp_os_malloc.c \ $(OS_PATH)/vp_os_error_handling.c \ $(API_PATH)/vp_api.c \ $(API_PATH)/vp_api_error.c \ $(API_PATH)/vp_api_io_multi_stage.c \ $(API_PATH)/vp_api_stage.c \ $(API_PATH)/vp_api_supervisor.c \ $(API_PATH)/vp_api_thread_helper.c \ $(STAGES_PATH)/vp_stages_frame_pipe.c \ $(STAGES_PATH)/vp_stages_configs.c \ $(STAGES_PATH)/vp_stages_io_buffer.c \ $(STAGES_PATH)/vp_stages_io_console.c \ $(STAGES_PATH)/vp_stages_io_file.c \ $(STAGES_PATH)/vp_stages_yuv2rgb.c \ $(STAGES_PATH)/vp_stages_io_com.c \ $(STAGES_PATH)/vp_stages_buffer_to_picture.c \ $(ATCODEC_PATH)/ATcodec_Memory.c \ $(ATCODEC_PATH)/ATcodec_Buffer.c \ $(ATCODEC_PATH)/ATcodec_Sorted_List.c \ $(ATCODEC_PATH)/ATcodec.c \ $(ATCODEC_PATH)/ATcodec_Tree.c \ $(ATCODEC_PATH)/ATcodec_api.c \ $(COM_PATH)/$(OS)/vp_com.c \ $(COM_PATH)/vp_com_error.c ifeq ($(USE_PARROTOS_CORE),yes) GENERIC_LIBRARY_SOURCE_FILES+= \ $(OS_PATH)/parrotos/vp_os_signal.c \ $(OS_PATH)/parrotos/vp_os_delay.c \ $(OS_PATH)/parrotos/vp_os_thread.c else GENERIC_LIBRARY_SOURCE_FILES+= \ $(OS_PATH)/$(OS)/vp_os_signal.c \ $(OS_PATH)/$(OS)/vp_os_delay.c \ $(OS_PATH)/$(OS)/vp_os_thread.c endif ifneq ($(USE_ANDROID),yes) ifneq ($(USE_ELINUX),yes) ifneq ($(USE_MINGW32),yes) ifneq ($(USE_IPHONE),yes) # GENERIC_LIBRARY_SOURCE_FILES+= \ # $(STAGES_PATH)/vp_stages_o_sdl.c endif endif endif endif #ifneq ($(USE_MINGW32),yes) ifneq ($(USE_ANDROID),yes) ifneq ($(USE_NDS),yes) ifneq ($(USE_IPHONE),yes) # GENERIC_LIBRARY_SOURCE_FILES+= \ # $(COM_PATH)/$(OS)/vp_com_serial.c endif endif endif #endif ifeq ($(USE_ELINUX),yes) GENERIC_LIBRARY_SOURCE_FILES += \ $(OS_PATH)/$(OS)/vp_os_ltt.c endif ifneq ($(NO_COM),yes) # Com Linux source files ######################## ifneq ($(USE_MINGW32),yes) ifeq ($(USE_ELINUX),yes) BUILD_COM_BASE:=yes ifeq ($(USE_WIFI),yes) GENERIC_LIBRARY_SOURCE_FILES += \ $(COM_PATH)/elinux/vp_com_wifi.c \ $(COM_PATH)/elinux/vp_com_wlc.c \ $(COM_PATH)/elinux/vp_com_interface.c endif endif ifeq ($(USE_LINUX),yes) BUILD_COM_BASE:=yes ifeq ($(USE_WIFI),yes) GENERIC_LIBRARY_SOURCE_FILES += \ $(COM_PATH)/linux/vp_com_wifi.c endif endif ifeq ($(USE_ANDROID),yes) BUILD_COM_BASE:=yes ifeq ($(USE_WIFI),yes) GENERIC_LIBRARY_SOURCE_FILES += \ $(COM_PATH)/linux/vp_com_wifi.c endif endif ifeq ($(USE_IPHONE),yes) BUILD_COM_BASE:=yes ifeq ($(USE_WIFI),yes) GENERIC_LIBRARY_SOURCE_FILES += \ $(COM_PATH)/linux/vp_com_wifi.c endif endif ifeq ($(BUILD_COM_BASE),yes) GENERIC_LIBRARY_SOURCE_FILES += \ $(COM_PATH)/linux/vp_com_wired.c \ $(COM_PATH)/vp_com_socket.c \ $(COM_PATH)/vp_com_socket_utils.c \ $(COM_PATH)/linux/vp_com_config_itf.c endif ifeq ($(USE_BLUEZ),yes) GENERIC_LIBRARY_SOURCE_FILES += \ $(COM_PATH)/linux/bluez.c \ $(COM_PATH)/linux/vp_com_bluetooth.c endif else GENERIC_LIBRARY_SOURCE_FILES += \ $(COM_PATH)/vp_com_socket.c \ $(COM_PATH)/vp_com_socket_utils.c endif endif GENERIC_BINARIES_COMMON_SOURCE_FILES= \ $(EXAMPLES_PATH)/common/common.c ifneq ($(USE_NDS),yes) GENERIC_BINARIES_COMMON_SOURCE_FILES+= \ $(EXAMPLES_PATH)/common/atcodec_server.c endif GENERIC_BINARIES_COMMON_SOURCE_FILES+= \ $(EXAMPLES_PATH)/common/atcodec_client.c GENERIC_BINARIES_TARGET_DIR=$(GENERIC_LIBRARY_TARGET_DIR) GENERIC_BINARIES_SOURCE_DIR=$(SDK_SOURCE_DIR) GENERIC_LIBRARY_SOURCE_DIR=$(SDK_SOURCE_DIR) GENERIC_TARGET_BINARIES_PREFIX:=Build/$(BUILD_MODE)_$(GENERIC_TARGET_BINARIES_PREFIX)$(GCC_ID)_ GENERIC_TARGET_BINARIES_DIR=$(SDK_SOURCE_DIR) define FILTER_OUT_PATTERN $(2):=$$(shell for i in $$($(2)) ; do echo $$$$i ; done | grep -v $(1)) endef ifeq ($(USE_ELINUX),yes) GENERIC_BINARIES_SOURCE_ENTRYPOINTS= \ $(EXAMPLES_PATH)/$(OS)/api_ifile_upper_ofile.c \ $(EXAMPLES_PATH)/$(OS)/api_serial_ofile.c \ $(EXAMPLES_PATH)/$(OS)/atcodec_sorted_list.c \ $(EXAMPLES_PATH)/$(OS)/api_threads.c \ $(EXAMPLES_PATH)/$(OS)/atcodec_server.c \ $(EXAMPLES_PATH)/$(OS)/atcodec_client.c \ $(EXAMPLES_PATH)/$(OS)/api_v4l_raw_ethernet.c \ $(EXAMPLES_PATH)/$(OS)/api_v4l_vlib_ethernet.c ifeq ($(USE_CAMIF),yes) endif ifeq ($(USE_WIFI),yes) GENERIC_BINARIES_SOURCE_ENTRYPOINTS+= \ $(EXAMPLES_PATH)/$(OS)/api_wifiClientTCP_console.c endif else ifeq ($(USE_NDS),yes) GENERIC_BINARIES_SOURCE_ENTRYPOINTS= \ $(EXAMPLES_PATH)/$(OS)/hello_world.c \ $(EXAMPLES_PATH)/$(OS)/atcodec_client.c else ifeq ($(USE_MJPEG),yes) GENERIC_BINARIES_SOURCE_ENTRYPOINTS+= \ $(EXAMPLES_PATH)/$(OS)/api_encode_decode.c endif GENERIC_BINARIES_SOURCE_ENTRYPOINTS+= \ $(EXAMPLES_PATH)/$(OS)/api_ethernet_raw_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_ethernet_vlib_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_ifile_raw_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_ifile_MJPEG_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_serial_MJPEG_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_serial_raw_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_serial_decoder_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_wifiClientTCP_raw_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_bluetoothClientTCP_decoder_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_wifiClientTCP_decoder_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_wifiClientTCP_MJPEG_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_bluetoothClientTCP_raw_sdl.c \ $(EXAMPLES_PATH)/$(OS)/api_BTclientTCP_MJPEG_sdl.c endif endif ifeq ($(NO_COM),yes) $(eval $(call FILTER_OUT_PATTERN,bluetooth,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) $(eval $(call FILTER_OUT_PATTERN,wifi,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) $(eval $(call FILTER_OUT_PATTERN,videoEncoder,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) endif ifneq ($(USE_MJPEG),yes) ifneq ($(USE_FFMPEG),yes) $(eval $(call FILTER_OUT_PATTERN,videoEncoder,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) $(eval $(call FILTER_OUT_PATTERN,encoder,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) $(eval $(call FILTER_OUT_PATTERN,decoder,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) $(eval $(call FILTER_OUT_PATTERN,video_tracker,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) endif endif ifneq ($(USE_VLIB),yes) $(eval $(call FILTER_OUT_PATTERN,vlib,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) endif ifneq ($(USE_MJPEG),yes) $(eval $(call FILTER_OUT_PATTERN,MJPEG,GENERIC_BINARIES_SOURCE_ENTRYPOINTS)) endif ifeq ($(USE_APP),yes) GENERIC_BINARIES_COMMON_SOURCE_FILES= GENERIC_BINARIES_SOURCE_ENTRYPOINTS= endif ifeq ($(USE_DLL),yes) GENERIC_BINARIES_COMMON_SOURCE_FILES= GENERIC_BINARIES_SOURCE_ENTRYPOINTS= endif ifeq ($(NO_EXAMPLES),yes) GENERIC_BINARIES_COMMON_SOURCE_FILES= GENERIC_BINARIES_SOURCE_ENTRYPOINTS= endif # All that needs to be exported ######################## export GENERIC_LIBRARY_TARGET_DIR export GENERIC_TARGET_LIBRARY export GENERIC_ADD_OFILES export GENERIC_INCLUDES export GENERIC_LIBRARY_SOURCE_FILES export GENERIC_BINARIES_SOURCE_DIR export GENERIC_BINARIES_COMMON_SOURCE_FILES export GENERIC_BINARIES_TARGET_DIR export GENERIC_LIBRARY_SOURCE_DIR export GENERIC_TARGET_BINARIES_PREFIX export GENERIC_TARGET_BINARIES_DIR export GENERIC_LIB_PATHS export GENERIC_LIBS export GENERIC_BINARIES_LIBS_DEPS export GENERIC_BINARIES_SOURCE_ENTRYPOINTS all $(MAKECMDGOALS): @$(MAKE) -f generic.makefile PARROTOS_MAKEFILE= $(MAKECMDGOALS)