blob: 5dbcf75aa82e4dab59c7dbed08dd3013470dce2f [file] [log] [blame]
# -*- Makefile -*- for libcharset/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
# Note that nmake command line flags are automatically passed to subdirectory
# Makefiles. Therefore we don't need to pass them explicitly to subdirectory
# Makefiles, but the subdirectory Makefiles need to have the same defaults.
!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_LIBCHARSET: Change expansion of LIBCHARSET_DLL_EXPORTED macro.
# -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro.
PICFLAGS = -GD -DBUILDING_LIBCHARSET -DBUILDING_DLL -DPIC
!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 -DINSTALLPREFIX=\"$(IIprefix)\" -DINSTALLDIR=\"$(IIbindir)\" -DNO_XMALLOC -Dset_relocation_prefix=libcharset_set_relocation_prefix -Drelocate=libcharset_relocate
INCLUDES = -I. -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 = localcharset.obj relocatable.obj
RESOURCES = charset.res
all : charset.lib
localcharset.obj : $(srcdir)/localcharset.c
$(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)/localcharset.c
relocatable.obj : $(srcdir)/relocatable.c
$(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)/relocatable.c
!if !$(DLL)
charset.lib : $(OBJECTS)
-$(RM) charset.lib
$(AR) $(AR_FLAGS)charset.lib $(OBJECTS)
!else
# charset.dll and charset.lib are created together.
charset.lib : $(OBJECTS) $(RESOURCES)
$(CC) $(MFLAGS) $(DEBUGFLAGS) -LD $(OBJECTS) $(RESOURCES) -Fecharset.dll
charset.res : $(srcdir)/../windows/charset.rc
rc -Fo charset.res $(srcdir)/../windows/charset.rc
!endif
install : all force
-mkdir $(prefix)
-mkdir $(exec_prefix)
!if $(DLL)
-mkdir $(bindir)
$(INSTALL_DATA) charset.dll $(bindir)\charset.dll
!endif
-mkdir $(libdir)
$(INSTALL_DATA) charset.lib $(libdir)\charset.lib
installdirs : force
-mkdir $(prefix)
-mkdir $(exec_prefix)
!if $(DLL)
-mkdir $(bindir)
!endif
-mkdir $(libdir)
uninstall : force
!if $(DLL)
$(RM) $(bindir)\charset.dll
!endif
$(RM) $(libdir)\charset.lib
check : all
mostlyclean : clean
clean : force
$(RM) *.obj
$(RM) *.lib
$(RM) *.exp
$(RM) *.dll
$(RM) charset.res
$(RM) charset.alias
distclean : clean
maintainer-clean : distclean
force :