summaryrefslogtreecommitdiff
path: root/win32/iconv/Makefile.msvc
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2011-10-11 16:45:31 -0700
committerPixel <pixel@nobis-crew.org>2011-10-11 16:45:31 -0700
commitead67afc96cdff3e74bb616e8e3a8b0a7695a28a (patch)
tree4d074d11a7983bdbde3f6da7d311cddd9696ef0d /win32/iconv/Makefile.msvc
parentd2252afcd74af0248c6141c8086d03e12a0a316f (diff)
Making the project compile with mingw32, on the same Makefile. No more separate Makefiles insanity.
Diffstat (limited to 'win32/iconv/Makefile.msvc')
-rw-r--r--win32/iconv/Makefile.msvc171
1 files changed, 171 insertions, 0 deletions
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 :
+