Hash :
9b958b9f
Author :
Date :
2003-05-18T11:28:29
Make it possible to create DLLs with debug information.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
# -*- Makefile -*- for libiconv/src
#### 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
# NO_NLS=1 do not use Native Language Support
# 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(NO_NLS)
NO_NLS=0
!endif
!if !defined(PREFIX)
PREFIX = c:\usr
!endif
!if !defined(IIPREFIX)
IIPREFIX = c:\\usr
!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
# 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 $(NO_NLS)
NLSFLAGS =
INCINTL =
LIBINTL =
!else
NLSFLAGS = -DENABLE_NLS=1
INCINTL = -I$(includedir)
LIBINTL = $(libdir)\intl.lib
!endif
# Directories used by "make":
srcdir = .
# Directories used by "make install":
prefix = $(PREFIX)
exec_prefix = $(prefix)
bindir = $(exec_prefix)\bin
libdir = $(exec_prefix)\lib
includedir = $(prefix)\include
datadir = $(prefix)\share
localedir = $(datadir)\locale
IIprefix = $(IIPREFIX)
IIexec_prefix = $(IIprefix)
IIbindir = $(IIexec_prefix)\\bin
IIlibdir = $(IIexec_prefix)\\lib
IIincludedir = $(IIprefix)\\include
IIdatadir = $(IIprefix)\\share
IIlocaledir = $(IIdatadir)\\locale
# Programs used by "make":
CC = cl
CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) $(NLSFLAGS) -DLOCALEDIR=\"$(IIlocaledir)\"
INCLUDES = -I. -I.. -I..\include -I..\srclib -I..\windows $(INCINTL)
RM = -del
# Programs used by "make install":
INSTALL = copy
INSTALL_PROGRAM = copy
INSTALL_DATA = copy
#### End of system configuration section. ####
SHELL = /bin/sh
all : iconv_no_i18n.exe iconv.exe
# This is the temporary iconv executable, without internationalization.
iconv_no_i18n.exe : $(srcdir)/iconv_no_i18n.c $(srcdir)/iconv.c ../srclib/icrt.lib ../lib/iconv.lib
$(CC) $(INCLUDES) -I..\lib $(CFLAGS) -DINSTALLPREFIX=\"$(IIprefix)\" -DINSTALLDIR=\"$(IIbindir)\" $(srcdir)/iconv_no_i18n.c ../srclib/icrt.lib ../lib/iconv.lib -Feiconv_no_i18n.exe
$(RM) iconv_no_i18n.obj
!if $(DLL)
copy ..\lib\iconv.dll iconv.dll
!endif
iconv.exe : $(srcdir)/iconv.c ../srclib/icrt.lib ../lib/iconv.lib
$(CC) $(INCLUDES) -I..\lib $(CFLAGS) -DINSTALLPREFIX=\"$(IIprefix)\" -DINSTALLDIR=\"$(IIbindir)\" $(srcdir)/iconv.c ../srclib/icrt.lib $(LIBINTL) ../lib/iconv.lib -Feiconv.exe
$(RM) iconv.obj
!if $(DLL)
copy ..\lib\iconv.dll iconv.dll
!endif
install : all force
-mkdir $(prefix)
-mkdir $(exec_prefix)
-mkdir $(bindir)
$(INSTALL_PROGRAM) iconv.exe $(bindir)\iconv.exe
installdirs : force
-mkdir $(prefix)
-mkdir $(exec_prefix)
-mkdir $(bindir)
uninstall : force
$(RM) $(bindir)\iconv.exe
check : all
mostlyclean : clean
clean : force
$(RM) *.obj
$(RM) *.dll
$(RM) *.exe
distclean : clean
maintainer-clean : distclean
force :