1# -*- Makefile -*- for libiconv/src 2 3#### Start of system configuration section. #### 4 5# Flags that can be set on the nmake command line: 6# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) 7# Note that this works only with MFLAGS=-MD. 8# MFLAGS={-ML|-MT|-MD} for defining the compilation model 9# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib 10# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib 11# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib 12# DEBUG=1 for compiling with debugging information 13# NO_NLS=1 do not use Native Language Support 14# PREFIX=Some\Directory Base directory for installation 15# IIPREFIX=Some\\Directory Same thing with doubled backslashes 16!if !defined(DLL) 17DLL=0 18!endif 19!if !defined(DEBUG) 20DEBUG=0 21!endif 22!if !defined(MFLAGS) 23!if !$(DLL) 24MFLAGS= 25!else 26MFLAGS=-MD 27!endif 28!endif 29!if !defined(NO_NLS) 30NO_NLS=0 31!endif 32!if !defined(PREFIX) 33PREFIX = c:\usr 34!endif 35!if !defined(IIPREFIX) 36IIPREFIX = c:\\usr 37!endif 38 39!if $(DEBUG) 40OPTIMFLAGS = -Od -Z7 41DEBUGFLAGS = -Z7 42!else 43# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. 44OPTIMFLAGS = -D_NDEBUG -O1 45DEBUGFLAGS = 46!endif 47 48# Set to -W3 if you want to see maximum amount of warnings, including stupid 49# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. 50WARN_CFLAGS = -W1 51 52!if $(NO_NLS) 53NLSFLAGS = 54INCINTL = 55LIBINTL = 56!else 57NLSFLAGS = -DENABLE_NLS=1 58INCINTL = -I$(includedir) 59LIBINTL = $(libdir)\intl.lib 60!endif 61 62# Directories used by "make": 63srcdir = . 64 65# Directories used by "make install": 66prefix = $(PREFIX) 67exec_prefix = $(prefix) 68bindir = $(exec_prefix)\bin 69libdir = $(exec_prefix)\lib 70includedir = $(prefix)\include 71datadir = $(prefix)\share 72localedir = $(datadir)\locale 73IIprefix = $(IIPREFIX) 74IIexec_prefix = $(IIprefix) 75IIbindir = $(IIexec_prefix)\\bin 76IIlibdir = $(IIexec_prefix)\\lib 77IIincludedir = $(IIprefix)\\include 78IIdatadir = $(IIprefix)\\share 79IIlocaledir = $(IIdatadir)\\locale 80 81# Programs used by "make": 82CC = cl 83CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) $(NLSFLAGS) -DLOCALEDIR=\"$(IIlocaledir)\" 84INCLUDES = -I. -I.. -I..\include -I..\srclib -I..\windows $(INCINTL) 85RM = -del 86 87# Programs used by "make install": 88INSTALL = copy 89INSTALL_PROGRAM = copy 90INSTALL_DATA = copy 91 92#### End of system configuration section. #### 93 94SHELL = /bin/sh 95 96all : iconv_no_i18n.exe iconv.exe 97 98# This is the temporary iconv executable, without internationalization. 99iconv_no_i18n.exe : $(srcdir)/iconv_no_i18n.c $(srcdir)/iconv.c ../srclib/icrt.lib ../lib/iconv.lib 100 $(CC) $(INCLUDES) -I..\lib $(CFLAGS) -DINSTALLPREFIX=\"$(IIprefix)\" -DINSTALLDIR=\"$(IIbindir)\" $(srcdir)/iconv_no_i18n.c ../srclib/icrt.lib ../lib/iconv.lib -Feiconv_no_i18n.exe 101 $(RM) iconv_no_i18n.obj 102!if $(DLL) 103 copy ..\lib\iconv.dll iconv.dll 104!endif 105 106iconv.exe : $(srcdir)/iconv.c ../srclib/icrt.lib ../lib/iconv.lib 107 $(CC) $(INCLUDES) -I..\lib $(CFLAGS) -DINSTALLPREFIX=\"$(IIprefix)\" -DINSTALLDIR=\"$(IIbindir)\" $(srcdir)/iconv.c ../srclib/icrt.lib $(LIBINTL) ../lib/iconv.lib -Feiconv.exe 108 $(RM) iconv.obj 109!if $(DLL) 110 copy ..\lib\iconv.dll iconv.dll 111!endif 112 113install : all force 114 -mkdir $(prefix) 115 -mkdir $(exec_prefix) 116 -mkdir $(bindir) 117 $(INSTALL_PROGRAM) iconv.exe $(bindir)\iconv.exe 118 119installdirs : force 120 -mkdir $(prefix) 121 -mkdir $(exec_prefix) 122 -mkdir $(bindir) 123 124uninstall : force 125 $(RM) $(bindir)\iconv.exe 126 127check : all 128 129mostlyclean : clean 130 131clean : force 132 $(RM) *.obj 133 $(RM) *.dll 134 $(RM) *.exe 135 136distclean : clean 137 138maintainer-clean : distclean 139 140force : 141