blob: 129776fdbd359225e547a0fde28660e651f353bc [file] [log] [blame]
Benny Prijono6107a002006-03-17 18:01:27 +00001
Benny Prijono6107a002006-03-17 18:01:27 +00002LIBEXT = .lib
3
Benny Prijonodc8c4902009-04-29 15:30:38 +00004TARGET = i386-win32-vc$(VC_VER)-$(BUILD_MODE)
Nanang Izzuddin432dd252009-04-22 13:37:11 +00005
Benny Prijono6107a002006-03-17 18:01:27 +00006!if "$(BUILD_MODE)" == "debug"
Nanang Izzuddin432dd252009-04-22 13:37:11 +00007BUILD_FLAGS = /MTd /Od /Zi /W4
8!elseif "$(BUILD_MODE)" == "debug-static"
Benny Prijono15953012006-04-27 22:37:08 +00009BUILD_FLAGS = /MTd /Od /Zi /W4
Perry Ismangil74338052009-03-30 12:15:43 +000010!elseif "$(BUILD_MODE)" == "debug-dynamic"
Perry Ismangil74338052009-03-30 12:15:43 +000011BUILD_FLAGS = /MDd /Od /Zi /W4
12!elseif "$(BUILD_MODE)" == "release-static"
Perry Ismangil74338052009-03-30 12:15:43 +000013BUILD_FLAGS = /Ox /MT /DNDEBUG /W4
Benny Prijonodc8c4902009-04-29 15:30:38 +000014!else
Benny Prijono15953012006-04-27 22:37:08 +000015BUILD_FLAGS = /Ox /MD /DNDEBUG /W4
Benny Prijono6107a002006-03-17 18:01:27 +000016!endif
17
Benny Prijono95af4cc2006-05-14 09:39:04 +000018PJLIB_LIB = ..\..\pjlib\lib\pjlib-$(TARGET)$(LIBEXT)
19PJLIB_UTIL_LIB = ..\..\pjlib-util\lib\pjlib-util-$(TARGET)$(LIBEXT)
Benny Prijonoc27512b2007-03-23 20:12:45 +000020PJNATH_LIB = ..\..\pjnath\lib\pjnath-$(TARGET)$(LIBEXT)
Benny Prijono95af4cc2006-05-14 09:39:04 +000021PJMEDIA_LIB = ..\..\pjmedia\lib\pjmedia-$(TARGET)$(LIBEXT)
22PJMEDIA_CODEC_LIB = ..\..\pjmedia\lib\pjmedia-codec-$(TARGET)$(LIBEXT)
Benny Prijono10454dc2009-02-21 14:21:59 +000023PJMEDIA_AUDIODEV_LIB = ..\..\pjmedia\lib\pjmedia-audiodev-$(TARGET)$(LIBEXT)
Nanang Izzuddine43ee722010-12-10 20:55:13 +000024PJMEDIA_VIDEODEV_LIB = ..\..\pjmedia\lib\pjmedia-videodev-$(TARGET)$(LIBEXT)
Benny Prijono95af4cc2006-05-14 09:39:04 +000025PJSIP_LIB = ..\..\pjsip\lib\pjsip-core-$(TARGET)$(LIBEXT)
26PJSIP_UA_LIB = ..\..\pjsip\lib\pjsip-ua-$(TARGET)$(LIBEXT)
27PJSIP_SIMPLE_LIB = ..\..\pjsip\lib\pjsip-simple-$(TARGET)$(LIBEXT)
28PJSUA_LIB_LIB = ..\..\pjsip\lib\pjsua-lib-$(TARGET)$(LIBEXT)
Benny Prijono6107a002006-03-17 18:01:27 +000029
Benny Prijonoc95a0f02007-04-09 07:06:08 +000030GSM_LIB = ..\..\third_party\lib\libgsmcodec-$(TARGET)$(LIBEXT)
31ILBC_LIB = ..\..\third_party\lib\libilbccodec-$(TARGET)$(LIBEXT)
32PORTAUDIO_LIB = ..\..\third_party\lib\libportaudio-$(TARGET)$(LIBEXT)
33RESAMPLE_LIB = ..\..\third_party\lib\libresample-$(TARGET)$(LIBEXT)
34SPEEX_LIB = ..\..\third_party\lib\libspeex-$(TARGET)$(LIBEXT)
Benny Prijonod8179652008-01-23 20:39:07 +000035SRTP_LIB = ..\..\third_party\lib\libsrtp-$(TARGET)$(LIBEXT)
Nanang Izzuddin56e380a2009-04-15 14:45:41 +000036G7221_LIB = ..\..\third_party\lib\libg7221codec-$(TARGET)$(LIBEXT)
Benny Prijonoc95a0f02007-04-09 07:06:08 +000037
38THIRD_PARTY_LIBS = $(GSM_LIB) $(ILBC_LIB) $(PORTAUDIO_LIB) $(RESAMPLE_LIB) \
Nanang Izzuddin56e380a2009-04-15 14:45:41 +000039 $(SPEEX_LIB) $(SRTP_LIB) $(G7221_LIB)
Benny Prijonoc95a0f02007-04-09 07:06:08 +000040
Benny Prijono6107a002006-03-17 18:01:27 +000041LIBS = $(PJSUA_LIB_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB) \
Benny Prijono10454dc2009-02-21 14:21:59 +000042 $(PJSIP_LIB) $(PJMEDIA_CODEC_LIB) $(PJMEDIA_AUDIODEV_LIB) \
Nanang Izzuddine43ee722010-12-10 20:55:13 +000043 $(PJMEDIA_VIDEODEV_LIB) \
Benny Prijono10454dc2009-02-21 14:21:59 +000044 $(PJMEDIA_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB) \
Benny Prijonoc95a0f02007-04-09 07:06:08 +000045 $(THIRD_PARTY_LIBS)
Benny Prijono6107a002006-03-17 18:01:27 +000046
47CFLAGS = /DPJ_WIN32=1 /DPJ_M_I386=1 \
48 $(BUILD_FLAGS) \
49 -I..\..\pjsip\include \
Benny Prijonoa6bd7582007-03-28 15:49:48 +000050 -I..\..\pjlib\include \
51 -I..\..\pjlib-util\include \
Benny Prijonoc27512b2007-03-23 20:12:45 +000052 -I..\..\pjmedia\include \
53 -I..\..\pjnath/include
Benny Prijono6107a002006-03-17 18:01:27 +000054LDFLAGS = $(BUILD_FLAGS) $(LIBS) \
Benny Prijonob681a2f2007-03-25 18:44:51 +000055 Iphlpapi.lib ole32.lib user32.lib dsound.lib dxguid.lib netapi32.lib \
Nanang Izzuddind12e8142011-08-15 22:40:32 +000056 mswsock.lib ws2_32.lib gdi32.lib advapi32.lib oleaut32.lib
Benny Prijono6107a002006-03-17 18:01:27 +000057
58SRCDIR = ..\src\samples
Benny Prijono95af4cc2006-05-14 09:39:04 +000059OBJDIR = .\output\samples-$(TARGET)
Benny Prijono82674642009-05-01 10:05:13 +000060BINDIR = ..\bin\samples\$(TARGET)
Benny Prijono6107a002006-03-17 18:01:27 +000061
62
Benny Prijono10454dc2009-02-21 14:21:59 +000063SAMPLES = $(BINDIR)\auddemo.exe \
Benny Prijonoc58e9f72010-04-20 09:44:27 +000064 $(BINDIR)\aectest.exe \
Sauw Mingb1b17d22010-12-20 11:02:48 +000065 $(BINDIR)\aviplay.exe \
Benny Prijono10454dc2009-02-21 14:21:59 +000066 $(BINDIR)\confsample.exe \
Benny Prijonoc78c3a32006-06-16 15:54:43 +000067 $(BINDIR)\confbench.exe \
Benny Prijono06e62d72008-01-11 09:01:50 +000068 $(BINDIR)\encdec.exe \
Sauw Mingd8435e62010-02-04 18:29:16 +000069 $(BINDIR)\httpdemo.exe \
Benny Prijono00238772009-04-13 18:41:04 +000070 $(BINDIR)\icedemo.exe \
Benny Prijono1f47f3f2009-07-29 12:28:31 +000071 $(BINDIR)\jbsim.exe \
Benny Prijono9183c032008-07-28 14:37:47 +000072 $(BINDIR)\latency.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000073 $(BINDIR)\level.exe \
Benny Prijonoa2687702008-01-12 11:23:02 +000074 $(BINDIR)\mix.exe \
Benny Prijono0f856722008-02-01 14:59:19 +000075 $(BINDIR)\pcaputil.exe\
Benny Prijono88406102006-07-03 01:09:50 +000076 $(BINDIR)\pjsip-perf.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000077 $(BINDIR)\playfile.exe \
78 $(BINDIR)\playsine.exe\
79 $(BINDIR)\recfile.exe \
80 $(BINDIR)\resampleplay.exe \
81 $(BINDIR)\simpleua.exe \
Benny Prijonof77ba882007-01-08 01:20:07 +000082 $(BINDIR)\simple_pjsua.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000083 $(BINDIR)\siprtp.exe \
84 $(BINDIR)\sipstateless.exe \
Benny Prijonofff245c2007-04-02 11:44:47 +000085 $(BINDIR)\stateful_proxy.exe \
86 $(BINDIR)\stateless_proxy.exe \
Benny Prijono7d60d052008-03-29 12:24:20 +000087 $(BINDIR)\stereotest.exe \
Benny Prijono7f5c12c2006-09-02 23:45:18 +000088 $(BINDIR)\streamutil.exe \
Benny Prijono812fdee2007-12-01 09:07:42 +000089 $(BINDIR)\strerror.exe \
Benny Prijonoc45d9512010-12-10 11:04:30 +000090 $(BINDIR)\tonegen.exe \
Nanang Izzuddin235e1b42011-02-28 18:59:47 +000091 $(BINDIR)\vid_streamutil.exe
Benny Prijonobc797312006-03-24 20:44:27 +000092
Benny Prijono6107a002006-03-17 18:01:27 +000093
Benny Prijono82674642009-05-01 10:05:13 +000094all: $(BINDIR) $(OBJDIR) $(SAMPLES)
Benny Prijono6107a002006-03-17 18:01:27 +000095
Benny Prijonobc797312006-03-24 20:44:27 +000096$(SAMPLES): $(SRCDIR)\$(@B).c $(LIBS) $(SRCDIR)\util.h Samples-vc.mak
Benny Prijono6107a002006-03-17 18:01:27 +000097 cl -nologo -c $(SRCDIR)\$(@B).c /Fo$(OBJDIR)\$(@B).obj $(CFLAGS)
Benny Prijono82674642009-05-01 10:05:13 +000098 cl /nologo $(OBJDIR)\$(@B).obj /Fe$@ /Fm$(OBJDIR)\$(@B).map $(LDFLAGS)
Nanang Izzuddin0cf8d052009-04-22 14:27:55 +000099 @rem the following two lines is just for cleaning up the 'bin' directory
Benny Prijono82674642009-05-01 10:05:13 +0000100 if exist $(BINDIR)\*.ilk del /Q $(BINDIR)\*.ilk
101 if exist $(BINDIR)\*.pdb del /Q $(BINDIR)\*.pdb
102
103$(BINDIR):
104 if not exist $(BINDIR) mkdir $(BINDIR)
Benny Prijono6107a002006-03-17 18:01:27 +0000105
106$(OBJDIR):
Benny Prijono39ac70a2007-02-01 03:01:01 +0000107 if not exist $(OBJDIR) mkdir $(OBJDIR)
Benny Prijono6107a002006-03-17 18:01:27 +0000108
Benny Prijono39ac70a2007-02-01 03:01:01 +0000109clean:
110 echo Cleaning up samples...
Benny Prijono82674642009-05-01 10:05:13 +0000111 if exist $(BINDIR) del /Q $(BINDIR)\*
112 if exist $(BINDIR) rmdir $(BINDIR)
Benny Prijono39ac70a2007-02-01 03:01:01 +0000113 if exist $(OBJDIR) del /Q $(OBJDIR)\*.*
Benny Prijono6107a002006-03-17 18:01:27 +0000114