blob: 9fab544134012d64582bb4d021be7502d08c5169 [file] [log] [blame]
# Makefile for libiconv/src
#### Start of system configuration section. ####
# Flags that can be set on the nmake command line:
# STATIC=1 for compiling a static .lib (default is a .dll with a stub .lib)
# DEBUG=1 for compiling with debugging information
!if !defined(STATIC)
STATIC=0
!endif
!if !defined(DEBUG)
DEBUG=0
!endif
# Directories used by "make":
srcdir = .
# Directories used by "make install":
prefix = /usr/local
local_prefix = /usr/local
exec_prefix = $(prefix)
libdir = $(exec_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 $(STATIC)
PICFLAGS =
!else
# "-GD" (msvc5) optimizes for DLL.
# mscv4 doesn't know about this flag and ignores it.
PICFLAGS = -GD
!endif
!if $(DEBUG)
OPTIMFLAGS = -Od -Z7
!else
# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5.
OPTIMFLAGS = -D_NDEBUG -O1
!endif
# -MD: use MSVCRT.DLL for C runtime library.
# -DBUILDING_LIBICONV: Change expansion of LIBICONV_DLL_EXPORTED macro.
CFLAGS = -MD $(WARN_CFLAGS) $(PICFLAGS) $(OPTIMFLAGS) -DBUILDING_LIBICONV
CPP = cl -E
INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include
AR = lib
AR_FLAGS = /out:
LN = copy
RM = del
# Programs used by "make install":
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
#### End of system configuration section. ####
SHELL = /bin/sh
SOURCES = $(srcdir)/iconv.c
OBJECTS = iconv.obj
# Set to iconv.res in order to include the resources information.
RESOURCES =
# 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)/aliases.h config.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/iconv.c
!if $(STATIC)
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) -MD -LD $(OBJECTS) $(RESOURCES)
iconv.res : $(srcdir)/../windows/iconv.rc
rc -Fo iconv.res $(srcdir)/../windows/iconv.rc
!endif
check : all
mostlyclean : clean
clean : force
$(RM) *.obj
$(RM) *.lib
$(RM) *.exp
$(RM) *.dll
$(RM) iconv.res
$(RM) core
distclean : clean
$(RM) config.h
maintainer-clean : distclean
force :