############################################################################### # Product: OpenCTM # File: Makefile.mingw # Description: Makefile for MinGW32 for Windows. ############################################################################### # Copyright (c) 2009-2010 Marcus Geelnard # # This software is provided 'as-is', without any express or implied # warranty. In no event will the authors be held liable for any damages # arising from the use of this software. # # Permission is granted to anyone to use this software for any purpose, # including commercial applications, and to alter it and redistribute it # freely, subject to the following restrictions: # # 1. The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. If you use this software # in a product, an acknowledgment in the product documentation would be # appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not # be misrepresented as being the original software. # # 3. This notice may not be removed or altered from any source # distribution. ############################################################################### LZMADIR = liblzma CC = gcc CFLAGS = -O3 -W -Wall -c -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM -std=c99 -pedantic CFLAGS_LZMA = -O3 -W -Wall -c -DLZMA_PREFIX_CTM -std=c99 -pedantic RM = del /Q DEPEND = $(CC) -MM RC = windres DYNAMICLIB = openctm.dll LINKLIB = libopenctm.a OBJS = openctm.o \ stream.o \ compressRAW.o \ compressMG1.o \ compressMG2.o LZMA_OBJS = Alloc.o \ LzFind.o \ LzmaDec.o \ LzmaEnc.o \ LzmaLib.o SRCS = openctm.c \ stream.c \ compressRAW.c \ compressMG1.c \ compressMG2.c LZMA_SRCS = $(LZMADIR)/Alloc.c \ $(LZMADIR)/LzFind.c \ $(LZMADIR)/LzmaDec.c \ $(LZMADIR)/LzmaEnc.c \ $(LZMADIR)/LzmaLib.c .phony: all clean depend all: $(DYNAMICLIB) clean: $(RM) $(DYNAMICLIB) $(LINKLIB) $(OBJS) $(LZMA_OBJS) openctm-res.o $(DYNAMICLIB): $(OBJS) $(LZMA_OBJS) openctm-mingw1.def openctm-mingw2.def openctm-res.o dllwrap --def openctm-mingw1.def -o $@ $(OBJS) $(LZMA_OBJS) openctm-res.o strip $@ dlltool --kill-at --output-lib $(LINKLIB) --def openctm-mingw2.def openctm-res.o: openctm.rc $(RC) $< $@ %.o: %.c $(CC) $(CFLAGS) $< %.o: $(LZMADIR)/%.c $(CC) $(CFLAGS_LZMA) $< depend: $(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend -include make.depend