Tag
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 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
# -*- 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
# Directories used by "make":
srcdir = .
# Directories used by "make install":
prefix = $(PREFIX)
exec_prefix = $(prefix)
bindir = $(exec_prefix)\bin
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 !$(DLL)
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
DEBUGFLAGS = -Z7
!else
# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5.
OPTIMFLAGS = -D_NDEBUG -O1
DEBUGFLAGS =
!endif
# -DBUILDING_LIBCHARSET: Change expansion of LIBCHARSET_DLL_EXPORTED macro.
CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBCHARSET
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 :