From ead67afc96cdff3e74bb616e8e3a8b0a7695a28a Mon Sep 17 00:00:00 2001 From: Pixel Date: Tue, 11 Oct 2011 16:45:31 -0700 Subject: Making the project compile with mingw32, on the same Makefile. No more separate Makefiles insanity. --- win32/iconv/Makefile.msvc | 171 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 win32/iconv/Makefile.msvc (limited to 'win32/iconv/Makefile.msvc') diff --git a/win32/iconv/Makefile.msvc b/win32/iconv/Makefile.msvc new file mode 100644 index 0000000..4280d78 --- /dev/null +++ b/win32/iconv/Makefile.msvc @@ -0,0 +1,171 @@ +# -*- Makefile -*- for libiconv/lib + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +# PREFIX=Some\Directory Base directory for installation +# IIPREFIX=Some\\Directory Same thing with doubled backslashes +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +MFLAGS=-MD +!endif +!endif +!if !defined(PREFIX) +PREFIX = c:\usr +!endif +!if !defined(IIPREFIX) +IIPREFIX = c:\\usr +!endif + +# Directories used by "make": +srcdir = . + +# Directories used by "make install": +prefix = $(PREFIX) +exec_prefix = $(prefix) +bindir = $(exec_prefix)\bin +libdir = $(exec_prefix)\lib +IIprefix = $(IIPREFIX) +IIexec_prefix = $(IIprefix) +IIbindir = $(IIexec_prefix)\\bin +IIlibdir = $(IIexec_prefix)\\lib + +# Programs used by "make": + +CC = cl + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if !$(DLL) +PICFLAGS = +!else +# "-GD" (msvc5) optimizes for DLL. +# mscv4 doesn't know about this flag and ignores it. +# -DBUILDING_LIBICONV: Change expansion of LIBICONV_DLL_EXPORTED macro. +# -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro. +PICFLAGS = -GD -DBUILDING_LIBICONV -DBUILDING_DLL +!endif + +!if $(DEBUG) +OPTIMFLAGS = -Od -Z7 +DEBUGFLAGS = -Z7 +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -D_NDEBUG -O1 +DEBUGFLAGS = +!endif + +CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(IIbindir)\" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate + +INCLUDES = -I. -I..\include + +AR = lib +AR_FLAGS = /out: + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +OBJECTS = iconv.obj localcharset.obj relocatable.obj + +RESOURCES = iconv.res + +all : iconv.lib + +config.h : config.h.msvc + -$(RM) config.h + $(LN) config.h.msvc config.h + +iconv.obj : $(srcdir)/iconv.c $(srcdir)/encodings.def $(srcdir)/encodings_local.def $(srcdir)/aliases.h config.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)/iconv.c + +localcharset.obj : $(srcdir)/../libcharset/lib/localcharset.c $(srcdir)/relocatable.h config.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)/../libcharset/lib/localcharset.c + +relocatable.obj : $(srcdir)/relocatable.c $(srcdir)/relocatable.h config.h + $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)/relocatable.c + +!if !$(DLL) + +iconv.lib : $(OBJECTS) + -$(RM) iconv.lib + $(AR) $(AR_FLAGS)iconv.lib $(OBJECTS) + +!else + +# iconv.dll and iconv.lib are created together. +iconv.lib : $(OBJECTS) $(RESOURCES) + $(CC) $(MFLAGS) $(DEBUGFLAGS) -LD $(OBJECTS) $(RESOURCES) -Feiconv.dll + +iconv.res : $(srcdir)/../windows/iconv.rc + rc -Fo iconv.res $(srcdir)/../windows/iconv.rc + +!endif + +install : all force + -mkdir $(prefix) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) + $(INSTALL_DATA) iconv.dll $(bindir)\iconv.dll +!endif + -mkdir $(libdir) + $(INSTALL_DATA) iconv.lib $(libdir)\iconv.lib + +installdirs : force + -mkdir $(prefix) + -mkdir $(exec_prefix) +!if $(DLL) + -mkdir $(bindir) +!endif + -mkdir $(libdir) + +uninstall : force +!if $(DLL) + $(RM) $(bindir)\iconv.dll +!endif + $(RM) $(libdir)\iconv.lib + +check : all + +mostlyclean : clean + +clean : force + $(RM) config.h + $(RM) *.obj + $(RM) *.lib + $(RM) *.exp + $(RM) *.dll + $(RM) iconv.res + +distclean : clean + +maintainer-clean : distclean + +force : + -- cgit v1.2.3