# Copyright (C) 2002 Open Source Telecom Corporation. # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # A makefile to do a mingw32 cross compile build of dll's. VPATH = ../../src:../../demo OPATH = ../mingw32 ARCH = i586-mingw32msvc- prefix = /usr/i586-mingw32msvc CXX = $(ARCH)c++ AS = $(ARCH)as DLLTOOL = $(ARCH)dlltool DLLWRAP = $(ARCH)dllwrap WINDRES = $(ARCH)windres STRIP = $(ARCH)strip exeext = .exe dllext = .dll CPPFLAGS = -I. -I../../src/ -D_GNU_SOURCE CXXFLAGS = -include ${prefix}/include/cc++2/cc++/config.h -g -Wall -O2 -mthreads LDFLAGS = -L$(prefix)/dll -lccrtp1 #-lccgnu2 -lccext2 -lws2_32 CCRTP1_LDFLAGS = -L$(prefix)/dll -lws2_32 #LDEXEC = -L$(OPATH) -lccrtp1 $(LDFLAGS) CCRTP1_DLL_NAME = ccrtp1.dll CCRTP1_DLL_LIB = ccrtp1.a CCRTP1_DLL_DEF = ccrtp1.def PROGS = rtphello.exe rtpsend.exe rtplisten.exe all: $(CCRTP1_DLL_NAME) $(PROGS) SHDRS = base.h formats.h rtppkt.h rtcppkt.h sources.h socket.h \ queuebase.h iqueue.h oqueue.h ioqueue.h cqueue.h HDRS = $(addprefix ../../src/ccrtp, $(SHDRS)) CCRTP1_OBJS = rtppkt.o rtcppkt.o source.o data.o \ incqueue.o outqueue.o queue.o \ control.o members.o socket.o duplex.o pool.o CCRTP1_DLLWRAP_FLAGS = --export-all --output-def $(CCRTP1_DLL_DEF) \ --implib $(CCRTP1_DLL_LIB) --driver-name $(CXX) $(CCRTP1_DLL_NAME) $(CCRTP1_DLL_DEF) $(CCRTP1_DLL_LIB): $(addprefix $(OPATH)/, $(CCRTP1_OBJS)) $(DLLWRAP) $(CCRTP1_DLLWRAP_FLAGS) -o $(CCRTP1_DLL_NAME) \ $(CCRTP1_OBJS) $(CCRTP1_LDFLAGS) $(OPATH)/%.o: %.cpp $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $(OPATH)/$(basename $@).o $< %.exe: %.cpp $(CXX) $(CPPFLAGS) $(CXXFLAGS) $< -L. -lccrtp1 $(LDFLAGS) -o $@ clean: -rm -f $(CCRTP1_OBJS) $(CCRTP1_DLL_NAME) $(CCRTP1_DLL_LIB) $(CCRTP1_DLL_DEF) $(PROGS) install: -mkdir $(prefix)/include/ccrtp -mkdir $(prefix)/dll cp -af $(HDRS) $(prefix)/include/ccrtp cp -af $(CCRTP1_DLL_LIB) $(CCRTP1_DLL_NAME) $(prefix)/dll cp -af $(CCRTP1_DLL_LIB) $(prefix)/lib/libccrtp1dll.a $(STRIP) $(prefix)/dll/$(CCRTP1_DLL_NAME) ar -rs $(prefix)/lib/$(CCRTP1_DLL_LIB) $(CCRTP1_OBJS)