1# You must have mingw installed. 2 3BUILD=build/ 4SRCDIR=$(BUILD)/source 5LIBDIR=$(BUILD)/lib 6OBJS=src/libircclient.obj 7 8all: prep static dynamic package-win32 package-linux 9 10prep: 11 mkdir -p $(LIBDIR) 12 13$(OBJS) : src/colors.c src/dcc.c src/errors.c src/libircclient.c src/portable.c src/sockets.c src/utils.c Makefile.mingw 14 15src/libircclient.obj: src/libircclient.c 16 i586-mingw32msvc-gcc -Iinclude -O2 -s -Isrc -DWIN32 -c -o src/libircclient.obj src/libircclient.c 17 18static: $(OBJS) 19 i586-mingw32msvc-ar cr $(LIBDIR)/libircclient-static.lib $(OBJS) 20 i586-mingw32msvc-ranlib $(LIBDIR)/libircclient-static.lib 21 22dynamic: $(OBJS) 23 i586-mingw32msvc-gcc -s -shared $(OBJS) src/libircclient.def -o $(LIBDIR)/libircclient.dll -Wl,-out-implib,$(LIBDIR)/libircclient.lib -lkernel32 -lwsock32 24 25docs: 26 doxygen Doxyfile 27 28package-win32: 29 mkdir -p $(BUILD)/doc 30 mkdir -p $(BUILD)/include 31 mkdir -p $(BUILD)/examples 32 cp include/libircclient.h include/libirc_errors.h include/libirc_events.h $(BUILD)/include/ 33 cp include/libircclient.h include/libirc_errors.h include/libirc_events.h $(BUILD)/include/ 34 cp examples/*.cpp examples/*.c $(BUILD)/examples/ 35 cp src/win32/spammer.dsp $(BUILD)/examples/ 36 cp doc/html/* $(BUILD)/doc/ 37 rm -f libircclient-win32.zip 38 (cd $(BUILD) && zip -r ../libircclient-win32.zip .) 39 40package-linux: 41 mkdir -p $(SRCDIR) 42 rm -rf $(SRCDIR)/libircclient 43 svn export . $(SRCDIR)/libircclient 44 (cd $(SRCDIR) && tar zcf ../../libircclient.tar.gz libircclient) 45