1 # -*- makefile-gmake -*-
2 # Config file for compilation by OMK for AQuoSA/Linux OS target
6 # For the FFMPEG2OMK hack, we need RELATIVE_DIR earlier:
8 RELATIVE_DIR := $(SOURCES_DIR:$(OUTPUT_DIR)%=%)
11 FFMPEG_BUILD_DIR=$(OUTPUT_DIR)/_build/user/ffmpeg
13 # Allow building ffmpeg by OMK
14 ifeq ($(RELATIVE_DIR:ffmpeg%=ffmpeg),ffmpeg)
15 $(SOURCES_DIR)/Makefile.omk: $(MAKERULES_DIR)/ffmpeg/libswscale \
16 $(MAKERULES_DIR)/Makefile.omk.ffmpeg \
17 $(FFMPEG_BUILD_DIR)/config.mak \
18 $(FFMPEG_BUILD_DIR)/version.h \
19 $(OUTPUT_DIR)/_build/user/$(RELATIVE_DIR)/Makefile \
20 $(MAKERULES_DIR)/../build/config.target # this file
22 $(Q)echo "FFMPEG_SUBDIR=$(RELATIVE_DIR:ffmpeg/%=%)" > $@
23 $(Q)cat $(MAKERULES_DIR)/Makefile.omk.ffmpeg >> $@
25 $(OUTPUT_DIR)/_build/user/$(RELATIVE_DIR)/Makefile.inc.ffmpeg: $(OUTPUT_DIR)/_build/user/$(RELATIVE_DIR)/Makefile
27 $(Q)make DEPS="" -C $(OUTPUT_DIR)/_build/user/$(RELATIVE_DIR) -rqp \
28 | sed -ne '/# Pattern-specific Variable Values/,$$ d' -e '/# makefile/,+1 p' \
29 | sed -e /^define/d -e "/^#/d" -e "/^MAKE/d" > $@
31 $(FFMPEG_BUILD_DIR)/tools/Makefile:
34 $(FFMPEG_BUILD_DIR)/libavcodec/x86/Makefile:
37 $(MAKERULES_DIR)/ffmpeg/libswscale:
38 ln -sf ../../src/libswscale $@
40 ifeq ($(wildcard $(FFMPEG_BUILD_DIR)/Makefile),)
41 $(FFMPEG_BUILD_DIR)/Makefile: $(FFMPEG_BUILD_DIR)/config.mak
44 $(FFMPEG_BUILD_DIR)/config.mak: \
45 $(MAKERULES_DIR)/ffmpeg/configure \
46 $(MAKERULES_DIR)/../build/config.target # this file
47 cd $(dir $@) && $(MAKERULES_DIR)/ffmpeg/configure $(if $(CONFIG_FFMPEG_WITH_FRSH:y=),--disable-protocol=frsh)
49 $(FFMPEG_BUILD_DIR)/version.h:
50 cd $(dir $@) && $(MAKERULES_DIR)/ffmpeg/version.sh $(PWD) $@
54 # You can override these variables in config.omk
55 AQUOSA_ROOT ?= $(wildcard /usr/local/aquosa)
56 QTDIR ?= $(wildcard /usr/share/qt4)
58 export PLATFORM=AQuoSA
60 # Create symbolic links to headers instead of copying them. Useful
64 # We do not want to overwrite original FRESCOR Makefiles
67 # For demo, we use FORB's inet protocol, to show how FRESCOR works in a
68 # distributed environment
69 CONFIG_FORB_PROTO_UNIX=n
70 CONFIG_FORB_PROTO_INET_DEFAULT=y
72 CONFIG_FFMPEG_WITH_FRSH=y
75 ########################################
77 ########################################
79 # This doesn't work since mgcc script eats multiple -M options
81 #CFLAGS=-Wall -g -O1 -Wuninitialized -D$(PLATFORM)
83 # Instead, we call normal gcc with parameters which mgcc adds
85 CFLAGS=$(ARCH_GCC_OPTS) -Wall -Wuninitialized -g -O2 $(CFLAGS-y) -D_REENTRANT -D$(PLATFORM) -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
87 LDFLAGS=$(ARCH_LD_OPTS) $(LIBS_PATH) $(LIBS)
88 LDFLAGS += '-Wl,-rpath,$$ORIGIN/../lib' -z origin --enable-new-dtags
90 IDL_COMPILER = $(OUTPUT_DIR)/$(COMPILED_DIR_NAME)/bin/forb-idl
92 FRSH_DISTRIBUTED_MODULE_SUPPORTED=true
94 # Disable tests which do not compile with FRSH_FORB
96 CONFIG_FRSH_TEST_context_switch=n # Needs timespec_operations.h and frsh_os_compatibility.h
97 CONFIG_FRSH_TEST_demo_september2007=n # Needs frsh_thread_get_vres_id()
98 CONFIG_FRSH_TEST_demo_september2007_with_signals=n # Some problem with signal constants and non-int vres_id
99 CONFIG_FRSH_TEST_dl_test=n # Needs different Makefile.omk
100 CONFIG_FRSH_TEST_example_d-ac1_frescor=n # Needs int vres_id
101 CONFIG_FRSH_TEST_frsh_shared_obj_test=n # Needs eat.h and timespec_operations.h
102 CONFIG_FRSH_TEST_functions=n # Needs timespec_operations.h and frsh_os_compatibility.h
103 CONFIG_FRSH_TEST_jitter_test=n # Needs timespec_operations.h and frsh_os_compatibility.h
104 CONFIG_FRSH_TEST_sharedobj_prototype=n # Needs frsh_sharedobj_XXX
105 CONFIG_FRSH_TEST_test_bind=n # Needs eat.h and timespec_operations.h
106 CONFIG_FRSH_TEST_test_contract_labels=n # Needs eat.h and timespec_operations.h
107 CONFIG_FRSH_TEST_test_eat=n # Needs eat.h
108 CONFIG_FRSH_TEST_test_frsh_performance=n # Needs more frsh api - todo
109 CONFIG_FRSH_TEST_test_frsh_renegotiate_async=n # Needs eat.h and timespec_operations.h
110 CONFIG_FRSH_TEST_test_frsh_synch_obj=n # Needs frsh_thread_id_t to be simple type - Aquosa declares it as structure
111 CONFIG_FRSH_TEST_test_memory=n # Needs different Makefile.omk and then we will see :)
112 CONFIG_FRSH_TEST_demo_sept07_negotiate_and_send=n # Needs RTEP
113 CONFIG_FRSH_TEST_demo_sept07_negotiations_limit=n # Needs RTEP
114 CONFIG_FRSH_TEST_demo_sept07_renegotiate_and_send=n # Needs RTEP
115 CONFIG_FRSH_TEST_test_endpoints=n # Needs RTEP
116 CONFIG_FRSH_TEST_test_frsh_distributed_contract_negotiate=n # Nedds vres_id to be int
117 CONFIG_FRSH_TEST_test_frsh_distributed_contract_renegotiate=n # Needs RTEP
118 CONFIG_FRSH_TEST_test_frsh_distributed_init=n # Needs THE_FRSH_CPU_ID
119 CONFIG_FRSH_TEST_test_frsh_marshal=n # Accesses frsh_contract_t fields directly
120 CONFIG_FRSH_TEST_test_frsh_send_receive_basic=n # Needs RTEP
121 CONFIG_FRSH_TEST_test_get_network_info=n # Needs RTEP
122 CONFIG_FRSH_TEST_test_self_bind=n # Needs eat.h and timespec_operations.h
123 CONFIG_FRSH_TEST_test_sizes=n # Needs frsh_internal.h - TODO
124 CONFIG_FRSH_TEST_test_spare_capacity=n # Needs more frsh api - TODO
125 CONFIG_FRSH_TEST_test_timespec_operations=n # Needs timespec_operations.h
126 CONFIG_FRSH_TEST_test_vres_id_bits=n # Depends on bit-fields in integer vres_id
127 CONFIG_FSA_TESTS=n # Depends on bit-fields in integer vres_id