blob: d1fc97b1f4c4ee5253703795e879cd032e61fb4b [file] [log] [blame]
Benny Prijono6107a002006-03-17 18:01:27 +00001
Benny Prijono39ac70a2007-02-01 03:01:01 +00002TARGET = i386-win32-vc$(VC_VER)-$(BUILD_MODE)
Benny Prijono6107a002006-03-17 18:01:27 +00003LIBEXT = .lib
4
5!if "$(BUILD_MODE)" == "debug"
Benny Prijono15953012006-04-27 22:37:08 +00006BUILD_FLAGS = /MTd /Od /Zi /W4
Benny Prijono6107a002006-03-17 18:01:27 +00007!else
Benny Prijono15953012006-04-27 22:37:08 +00008BUILD_FLAGS = /Ox /MD /DNDEBUG /W4
Benny Prijono6107a002006-03-17 18:01:27 +00009!endif
10
Benny Prijono95af4cc2006-05-14 09:39:04 +000011PJLIB_LIB = ..\..\pjlib\lib\pjlib-$(TARGET)$(LIBEXT)
12PJLIB_UTIL_LIB = ..\..\pjlib-util\lib\pjlib-util-$(TARGET)$(LIBEXT)
Benny Prijonoc27512b2007-03-23 20:12:45 +000013PJNATH_LIB = ..\..\pjnath\lib\pjnath-$(TARGET)$(LIBEXT)
Benny Prijono95af4cc2006-05-14 09:39:04 +000014PJMEDIA_LIB = ..\..\pjmedia\lib\pjmedia-$(TARGET)$(LIBEXT)
15PJMEDIA_CODEC_LIB = ..\..\pjmedia\lib\pjmedia-codec-$(TARGET)$(LIBEXT)
16PJSIP_LIB = ..\..\pjsip\lib\pjsip-core-$(TARGET)$(LIBEXT)
17PJSIP_UA_LIB = ..\..\pjsip\lib\pjsip-ua-$(TARGET)$(LIBEXT)
18PJSIP_SIMPLE_LIB = ..\..\pjsip\lib\pjsip-simple-$(TARGET)$(LIBEXT)
19PJSUA_LIB_LIB = ..\..\pjsip\lib\pjsua-lib-$(TARGET)$(LIBEXT)
Benny Prijono6107a002006-03-17 18:01:27 +000020
Benny Prijonoc95a0f02007-04-09 07:06:08 +000021GSM_LIB = ..\..\third_party\lib\libgsmcodec-$(TARGET)$(LIBEXT)
22ILBC_LIB = ..\..\third_party\lib\libilbccodec-$(TARGET)$(LIBEXT)
23PORTAUDIO_LIB = ..\..\third_party\lib\libportaudio-$(TARGET)$(LIBEXT)
24RESAMPLE_LIB = ..\..\third_party\lib\libresample-$(TARGET)$(LIBEXT)
25SPEEX_LIB = ..\..\third_party\lib\libspeex-$(TARGET)$(LIBEXT)
Benny Prijonod8179652008-01-23 20:39:07 +000026SRTP_LIB = ..\..\third_party\lib\libsrtp-$(TARGET)$(LIBEXT)
Benny Prijonoc95a0f02007-04-09 07:06:08 +000027
28THIRD_PARTY_LIBS = $(GSM_LIB) $(ILBC_LIB) $(PORTAUDIO_LIB) $(RESAMPLE_LIB) \
Benny Prijonod8179652008-01-23 20:39:07 +000029 $(SPEEX_LIB) $(SRTP_LIB)
Benny Prijonoc95a0f02007-04-09 07:06:08 +000030
Benny Prijono6107a002006-03-17 18:01:27 +000031LIBS = $(PJSUA_LIB_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB) \
Benny Prijonob681a2f2007-03-25 18:44:51 +000032 $(PJSIP_LIB) $(PJMEDIA_CODEC_LIB) $(PJMEDIA_LIB) $(PJNATH_LIB) \
Benny Prijonoc95a0f02007-04-09 07:06:08 +000033 $(PJLIB_UTIL_LIB) $(PJLIB_LIB) \
34 $(THIRD_PARTY_LIBS)
Benny Prijono6107a002006-03-17 18:01:27 +000035
36CFLAGS = /DPJ_WIN32=1 /DPJ_M_I386=1 \
37 $(BUILD_FLAGS) \
38 -I..\..\pjsip\include \
Benny Prijonoa6bd7582007-03-28 15:49:48 +000039 -I..\..\pjlib\include \
40 -I..\..\pjlib-util\include \
Benny Prijonoc27512b2007-03-23 20:12:45 +000041 -I..\..\pjmedia\include \
42 -I..\..\pjnath/include
Benny Prijono6107a002006-03-17 18:01:27 +000043LDFLAGS = $(BUILD_FLAGS) $(LIBS) \
Benny Prijonob681a2f2007-03-25 18:44:51 +000044 Iphlpapi.lib ole32.lib user32.lib dsound.lib dxguid.lib netapi32.lib \
Benny Prijonof5512402008-06-10 11:13:04 +000045 mswsock.lib ws2_32.lib gdi32.lib advapi32.lib
Benny Prijono6107a002006-03-17 18:01:27 +000046
47SRCDIR = ..\src\samples
Benny Prijono95af4cc2006-05-14 09:39:04 +000048OBJDIR = .\output\samples-$(TARGET)
Benny Prijono6107a002006-03-17 18:01:27 +000049BINDIR = ..\bin\samples
50
51
Benny Prijonof9962132006-05-16 13:20:00 +000052SAMPLES = $(BINDIR)\confsample.exe \
Benny Prijonoc78c3a32006-06-16 15:54:43 +000053 $(BINDIR)\confbench.exe \
Benny Prijono06e62d72008-01-11 09:01:50 +000054 $(BINDIR)\encdec.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000055 $(BINDIR)\level.exe \
Benny Prijonoa2687702008-01-12 11:23:02 +000056 $(BINDIR)\mix.exe \
Benny Prijono0f856722008-02-01 14:59:19 +000057 $(BINDIR)\pcaputil.exe\
Benny Prijono88406102006-07-03 01:09:50 +000058 $(BINDIR)\pjsip-perf.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000059 $(BINDIR)\playfile.exe \
60 $(BINDIR)\playsine.exe\
61 $(BINDIR)\recfile.exe \
62 $(BINDIR)\resampleplay.exe \
63 $(BINDIR)\simpleua.exe \
Benny Prijonof77ba882007-01-08 01:20:07 +000064 $(BINDIR)\simple_pjsua.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000065 $(BINDIR)\siprtp.exe \
66 $(BINDIR)\sipstateless.exe \
67 $(BINDIR)\sndinfo.exe \
Benny Prijono69d9d192006-05-21 19:00:28 +000068 $(BINDIR)\sndtest.exe \
Benny Prijonofff245c2007-04-02 11:44:47 +000069 $(BINDIR)\stateful_proxy.exe \
70 $(BINDIR)\stateless_proxy.exe \
Benny Prijono7d60d052008-03-29 12:24:20 +000071 $(BINDIR)\stereotest.exe \
Benny Prijono7f5c12c2006-09-02 23:45:18 +000072 $(BINDIR)\streamutil.exe \
Benny Prijono812fdee2007-12-01 09:07:42 +000073 $(BINDIR)\strerror.exe \
Benny Prijono7f5c12c2006-09-02 23:45:18 +000074 $(BINDIR)\tonegen.exe
Benny Prijonobc797312006-03-24 20:44:27 +000075
Benny Prijono6107a002006-03-17 18:01:27 +000076
77all: $(OBJDIR) $(SAMPLES)
78
Benny Prijonobc797312006-03-24 20:44:27 +000079$(SAMPLES): $(SRCDIR)\$(@B).c $(LIBS) $(SRCDIR)\util.h Samples-vc.mak
Benny Prijono6107a002006-03-17 18:01:27 +000080 cl -nologo -c $(SRCDIR)\$(@B).c /Fo$(OBJDIR)\$(@B).obj $(CFLAGS)
81 cl /nologo $(OBJDIR)\$(@B).obj /Fe$@ /Fm$(OBJDIR)\$(@B).map $(LDFLAGS)
82
83$(OBJDIR):
Benny Prijono39ac70a2007-02-01 03:01:01 +000084 if not exist $(OBJDIR) mkdir $(OBJDIR)
Benny Prijono6107a002006-03-17 18:01:27 +000085
Benny Prijono39ac70a2007-02-01 03:01:01 +000086clean:
87 echo Cleaning up samples...
88 if exist $(BINDIR) del /Q $(BINDIR)\*.*
89 if exist $(OBJDIR) del /Q $(OBJDIR)\*.*
Benny Prijono6107a002006-03-17 18:01:27 +000090