Skip to content

Instantly share code, notes, and snippets.

@aisouard
Created May 22, 2015 00:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aisouard/e02337ad5ac357981355 to your computer and use it in GitHub Desktop.
Save aisouard/e02337ad5ac357981355 to your computer and use it in GitHub Desktop.
Makefile for building with WebRTC
CXXFLAGS := -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DWEBRTC_TARGET_PC -DWEBRTC_LINUX \
-DWEBRTC_THREAD_RR -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH \
-DJSONCPP_RELATIVE_PATH \
-DWEBRTC_RELATIVE_PATH -DPOSIX -D__STDC_FORMAT_MACROS \
-DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBRTC_POSIX=1 \
-Ithird_party/webrtc -Ipeeracle/lib -std=gnu++0x \
-pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter \
-Wno-missing-field-initializers -Wextra -Wno-unused-local-typedefs \
-Wno-uninitialized -Wno-unused-variable -Wno-unused-but-set-variable \
-pipe -fno-ident -fdata-sections -ffunction-sections -fPIC -fpermissive
LDFLAGS := -Wl,--start-group \
third_party/webrtc/out/Release/libyuv.a \
third_party/webrtc/out/Release/obj/webrtc/system_wrappers/libsystem_wrappers.a \
third_party/webrtc/out/Release/obj/webrtc/system_wrappers/libmetrics_default.a \
third_party/webrtc/out/Release/obj/webrtc/system_wrappers/libfield_trial_default.a \
third_party/webrtc/out/Release/obj/webrtc/libjingle/xmllite/librtc_xmllite.a \
third_party/webrtc/out/Release/obj/webrtc/libjingle/xmpp/librtc_xmpp.a \
third_party/webrtc/out/Release/obj/webrtc/common_audio/libcommon_audio_sse2.a \
third_party/webrtc/out/Release/obj/webrtc/common_audio/libcommon_audio.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libiLBC.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_processing_sse2.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libPCM16B.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libiSAC.a \
third_party/webrtc/out/Release/obj/webrtc/modules/librtp_rtcp.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libG722.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudio_conference_mixer.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_render_module.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libwebrtc_utility.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libwebrtc_video_coding.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudio_processing_sse2.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudioproc_debug_proto.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudio_encoder_interface.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_processing.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libdesktop_capture_differ_sse2.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_render_module_internal_impl.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libCNG.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libred.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libG711.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libwebrtc_opus.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudio_processing.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libremote_bitrate_estimator.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libneteq.a \
third_party/webrtc/out/Release/obj/webrtc/modules/video_coding/utility/libvideo_coding_utility.a \
third_party/webrtc/out/Release/obj/webrtc/modules/video_coding/codecs/vp9/libwebrtc_vp9.a \
third_party/webrtc/out/Release/obj/webrtc/modules/video_coding/codecs/vp8/libwebrtc_vp8.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libdesktop_capture.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudio_decoder_interface.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libiSACFix.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_capture_module_internal_impl.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libpaced_sender.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudio_coding_module.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libmedia_file.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_capture.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libaudio_device.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_capture_module.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libvideo_render.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libwebrtc_i420.a \
third_party/webrtc/out/Release/obj/webrtc/modules/libbitrate_controller.a \
third_party/webrtc/out/Release/obj/webrtc/libwebrtc.a \
third_party/webrtc/out/Release/obj/webrtc/libwebrtc_common.a \
third_party/webrtc/out/Release/obj/webrtc/common_video/libcommon_video.a \
third_party/webrtc/out/Release/obj/webrtc/video_engine/libvideo_engine_core.a \
third_party/webrtc/out/Release/obj/webrtc/sound/librtc_sound.a \
third_party/webrtc/out/Release/obj/webrtc/base/librtc_base_approved.a \
third_party/webrtc/out/Release/obj/webrtc/base/librtc_base.a \
third_party/webrtc/out/Release/obj/webrtc/tools/libframe_editing_lib.a \
third_party/webrtc/out/Release/obj/webrtc/tools/libvideo_quality_analysis.a \
third_party/webrtc/out/Release/obj/webrtc/tools/libcommand_line_parser.a \
third_party/webrtc/out/Release/obj/webrtc/p2p/libstunprober.a \
third_party/webrtc/out/Release/obj/webrtc/p2p/librtc_p2p.a \
third_party/webrtc/out/Release/obj/webrtc/voice_engine/libvoice_engine.a \
third_party/webrtc/out/Release/obj/talk/libjingle_media.a \
third_party/webrtc/out/Release/obj/talk/libjingle_peerconnection.a \
third_party/webrtc/out/Release/obj/talk/libjingle_p2p.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/usrsctp/libusrsctplib.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/opus/libopus.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/openmax_dl/dl/libopenmax_dl.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/yasm/libgenperf_libs.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/jsoncpp/libjsoncpp.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libsrtp/libsrtp.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libvpx/libvpx_intrinsics_sse4_1.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libvpx/libvpx_intrinsics_ssse3.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libvpx/libvpx_intrinsics_sse2.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libvpx/libvpx_intrinsics_mmx.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libvpx/libvpx.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libvpx/libvpx_intrinsics_avx2.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/protobuf/libprotobuf_lite.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/protobuf/libprotobuf_full_do_not_use.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/boringssl/libboringssl.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/icu/libicuuc.a \
third_party/webrtc/out/Release/obj/chromium/src/third_party/libjpeg_turbo/libjpeg_turbo.a \
third_party/webrtc/out/Release/obj/chromium/src/net/third_party/nss/libcrssl.a \
-lpthread -ldl -lX11 -lnss3 -lnssutil3 -lplc4 -lnspr4 \
-Wl,--end-group
NAME = test
RM = rm -f
SRCS = peeracle/lib/peer.cc
OBJS = $(SRCS:.cc=.o)
all: $(NAME)
$(NAME): $(OBJS)
$(CXX) -o $(NAME) $(OBJS) $(LDFLAGS)
clean:
$(RM) $(OBJS)
fclean: clean
$(RM) $(NAME)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment