| # 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) |