Makefile.msvc   [plain text]


# -*- Makefile -*- for srclib

#### 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
!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

# Directories used by "make install":
prefix = $(PREFIX)
exec_prefix = $(prefix)
bindir = $(exec_prefix)\bin
libdir = $(exec_prefix)\lib
includedir = $(prefix)\include

# 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 $(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

!if $(NO_NLS)
NLSFLAGS =
INCINTL =
LIBINTL =
!else
NLSFLAGS = -DENABLE_NLS=1
INCINTL = -I$(includedir)
LIBINTL = $(libdir)\intl.lib
!endif

CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H $(NLSFLAGS) -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1

INCLUDES = -I. -I.. -I..\windows $(INCINTL)

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 = \
  allocsa.obj \
  error.obj \
  progname.obj progreloc.obj \
  xmalloc.obj xstrdup.obj \
  \
  relocatable.obj \
  setenv.obj unsetenv.obj

all : icrt.lib

allocsa.obj : allocsa.c
	$(CC) $(INCLUDES) $(CFLAGS) -c allocsa.c

error.obj : error.c
	$(CC) $(INCLUDES) $(CFLAGS) -c error.c

progname.obj : progname.c
	$(CC) $(INCLUDES) $(CFLAGS) -c progname.c

progreloc.obj : progreloc.c
	$(CC) $(INCLUDES) $(CFLAGS) -c progreloc.c

xmalloc.obj : xmalloc.c
	$(CC) $(INCLUDES) $(CFLAGS) -c xmalloc.c

xstrdup.obj : xstrdup.c
	$(CC) $(INCLUDES) $(CFLAGS) -c xstrdup.c

relocatable.obj : relocatable.c
	$(CC) $(INCLUDES) $(CFLAGS) -c relocatable.c

setenv.obj : setenv.c
	$(CC) $(INCLUDES) $(CFLAGS) -c setenv.c

unsetenv.obj : unsetenv.c
	$(CC) $(INCLUDES) $(CFLAGS) -c unsetenv.c

icrt.lib : $(OBJECTS)
	-$(RM) icrt.lib
	$(AR) $(AR_FLAGS)icrt.lib $(OBJECTS)

install : all force

installdirs : force

uninstall : force

check : all

mostlyclean : clean

clean : force
	$(RM) *.obj
	$(RM) *.lib

distclean : clean

maintainer-clean : distclean

force :