blob: 4533b42c3cd5dce184c0d37f17bbd18495c546cb [file] [log] [blame]
Benny Prijono6107a002006-03-17 18:01:27 +00001
Benny Prijono6107a002006-03-17 18:01:27 +00002LIBEXT = .lib
3
Nanang Izzuddin432dd252009-04-22 13:37:11 +00004TARGET = i386-win32-vs$(VC_VER)-$(BUILD_MODE)
5
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
Nanang Izzuddin432dd252009-04-22 13:37:11 +000014!elseif "$(BUILD_MODE)" == "release-dynamic"
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)
Benny Prijono95af4cc2006-05-14 09:39:04 +000024PJSIP_LIB = ..\..\pjsip\lib\pjsip-core-$(TARGET)$(LIBEXT)
25PJSIP_UA_LIB = ..\..\pjsip\lib\pjsip-ua-$(TARGET)$(LIBEXT)
26PJSIP_SIMPLE_LIB = ..\..\pjsip\lib\pjsip-simple-$(TARGET)$(LIBEXT)
27PJSUA_LIB_LIB = ..\..\pjsip\lib\pjsua-lib-$(TARGET)$(LIBEXT)
Benny Prijono6107a002006-03-17 18:01:27 +000028
Benny Prijonoc95a0f02007-04-09 07:06:08 +000029GSM_LIB = ..\..\third_party\lib\libgsmcodec-$(TARGET)$(LIBEXT)
30ILBC_LIB = ..\..\third_party\lib\libilbccodec-$(TARGET)$(LIBEXT)
31PORTAUDIO_LIB = ..\..\third_party\lib\libportaudio-$(TARGET)$(LIBEXT)
32RESAMPLE_LIB = ..\..\third_party\lib\libresample-$(TARGET)$(LIBEXT)
33SPEEX_LIB = ..\..\third_party\lib\libspeex-$(TARGET)$(LIBEXT)
Benny Prijonod8179652008-01-23 20:39:07 +000034SRTP_LIB = ..\..\third_party\lib\libsrtp-$(TARGET)$(LIBEXT)
Benny Prijonoc95a0f02007-04-09 07:06:08 +000035
36THIRD_PARTY_LIBS = $(GSM_LIB) $(ILBC_LIB) $(PORTAUDIO_LIB) $(RESAMPLE_LIB) \
Benny Prijonod8179652008-01-23 20:39:07 +000037 $(SPEEX_LIB) $(SRTP_LIB)
Benny Prijonoc95a0f02007-04-09 07:06:08 +000038
Benny Prijono6107a002006-03-17 18:01:27 +000039LIBS = $(PJSUA_LIB_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB) \
Benny Prijono10454dc2009-02-21 14:21:59 +000040 $(PJSIP_LIB) $(PJMEDIA_CODEC_LIB) $(PJMEDIA_AUDIODEV_LIB) \
41 $(PJMEDIA_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB) \
Benny Prijonoc95a0f02007-04-09 07:06:08 +000042 $(THIRD_PARTY_LIBS)
Benny Prijono6107a002006-03-17 18:01:27 +000043
44CFLAGS = /DPJ_WIN32=1 /DPJ_M_I386=1 \
45 $(BUILD_FLAGS) \
46 -I..\..\pjsip\include \
Benny Prijonoa6bd7582007-03-28 15:49:48 +000047 -I..\..\pjlib\include \
48 -I..\..\pjlib-util\include \
Benny Prijonoc27512b2007-03-23 20:12:45 +000049 -I..\..\pjmedia\include \
50 -I..\..\pjnath/include
Benny Prijono6107a002006-03-17 18:01:27 +000051LDFLAGS = $(BUILD_FLAGS) $(LIBS) \
Benny Prijonob681a2f2007-03-25 18:44:51 +000052 Iphlpapi.lib ole32.lib user32.lib dsound.lib dxguid.lib netapi32.lib \
Benny Prijonof5512402008-06-10 11:13:04 +000053 mswsock.lib ws2_32.lib gdi32.lib advapi32.lib
Benny Prijono6107a002006-03-17 18:01:27 +000054
55SRCDIR = ..\src\samples
Benny Prijono95af4cc2006-05-14 09:39:04 +000056OBJDIR = .\output\samples-$(TARGET)
Benny Prijono6107a002006-03-17 18:01:27 +000057BINDIR = ..\bin\samples
58
59
Benny Prijono10454dc2009-02-21 14:21:59 +000060SAMPLES = $(BINDIR)\auddemo.exe \
61 $(BINDIR)\confsample.exe \
Benny Prijonoc78c3a32006-06-16 15:54:43 +000062 $(BINDIR)\confbench.exe \
Benny Prijono06e62d72008-01-11 09:01:50 +000063 $(BINDIR)\encdec.exe \
Benny Prijono9183c032008-07-28 14:37:47 +000064 $(BINDIR)\latency.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000065 $(BINDIR)\level.exe \
Benny Prijonoa2687702008-01-12 11:23:02 +000066 $(BINDIR)\mix.exe \
Benny Prijono0f856722008-02-01 14:59:19 +000067 $(BINDIR)\pcaputil.exe\
Benny Prijono88406102006-07-03 01:09:50 +000068 $(BINDIR)\pjsip-perf.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000069 $(BINDIR)\playfile.exe \
70 $(BINDIR)\playsine.exe\
71 $(BINDIR)\recfile.exe \
72 $(BINDIR)\resampleplay.exe \
73 $(BINDIR)\simpleua.exe \
Benny Prijonof77ba882007-01-08 01:20:07 +000074 $(BINDIR)\simple_pjsua.exe \
Benny Prijonof9962132006-05-16 13:20:00 +000075 $(BINDIR)\siprtp.exe \
76 $(BINDIR)\sipstateless.exe \
Benny Prijonofff245c2007-04-02 11:44:47 +000077 $(BINDIR)\stateful_proxy.exe \
78 $(BINDIR)\stateless_proxy.exe \
Benny Prijono7d60d052008-03-29 12:24:20 +000079 $(BINDIR)\stereotest.exe \
Benny Prijono7f5c12c2006-09-02 23:45:18 +000080 $(BINDIR)\streamutil.exe \
Benny Prijono812fdee2007-12-01 09:07:42 +000081 $(BINDIR)\strerror.exe \
Benny Prijono7f5c12c2006-09-02 23:45:18 +000082 $(BINDIR)\tonegen.exe
Benny Prijonobc797312006-03-24 20:44:27 +000083
Benny Prijono6107a002006-03-17 18:01:27 +000084
85all: $(OBJDIR) $(SAMPLES)
86
Benny Prijonobc797312006-03-24 20:44:27 +000087$(SAMPLES): $(SRCDIR)\$(@B).c $(LIBS) $(SRCDIR)\util.h Samples-vc.mak
Benny Prijono6107a002006-03-17 18:01:27 +000088 cl -nologo -c $(SRCDIR)\$(@B).c /Fo$(OBJDIR)\$(@B).obj $(CFLAGS)
Nanang Izzuddin432dd252009-04-22 13:37:11 +000089 cl /nologo $(OBJDIR)\$(@B).obj /Fe$(BINDIR)\$(@B)-$(TARGET).exe /Fm$(OBJDIR)\$(@B).map $(LDFLAGS)
90 @rem del /Q $(BINDIR)\*$(TARGET).ilk
91 @rem del /Q $(BINDIR)\*$(TARGET).pdb
Benny Prijono6107a002006-03-17 18:01:27 +000092
93$(OBJDIR):
Benny Prijono39ac70a2007-02-01 03:01:01 +000094 if not exist $(OBJDIR) mkdir $(OBJDIR)
Benny Prijono6107a002006-03-17 18:01:27 +000095
Benny Prijono39ac70a2007-02-01 03:01:01 +000096clean:
97 echo Cleaning up samples...
Nanang Izzuddin432dd252009-04-22 13:37:11 +000098 if exist $(BINDIR) del /Q $(BINDIR)\*$(TARGET).*
Benny Prijono39ac70a2007-02-01 03:01:01 +000099 if exist $(OBJDIR) del /Q $(OBJDIR)\*.*
Benny Prijono6107a002006-03-17 18:01:27 +0000100