# -*- Makefile -*- for gettext-runtime/libasprintf #### 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 install": prefix = $(PREFIX) exec_prefix = $(prefix) datadir = $(prefix)\share bindir = $(exec_prefix)\bin libdir = $(exec_prefix)\lib includedir = $(prefix)\include # For this subpackage only. sub_docdir = $(datadir)\doc\libasprintf # Programs used by "make": CC = cl CXX = cl -TP # 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_LIBASPRINTF: Change expansion of LIBASPRINTF_DLL_EXPORTED macro. CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBASPRINTF CXXFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBASPRINTF -GX INCLUDES = -I. 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 = lib-asprintf.obj autosprintf.obj RESOURCES = asprintf.res all : autosprintf.h asprintf.lib autosprintf.h : !if !$(DLL) $(LN) autosprintf.h.in autosprintf.h !else $(LN) autosprintf.h.msvc-shared autosprintf.h !endif config.h : config.h.msvc -$(RM) config.h $(LN) config.h.msvc config.h alloca.h : alloca_.h -$(RM) alloca.h $(LN) alloca_.h alloca.h lib-asprintf.obj : lib-asprintf.c config.h printf-args.h printf-args.c printf-parse.h printf-parse.c alloca.h vasnprintf.h vasnprintf.c asnprintf.c vasprintf.h vasprintf.c asprintf.c $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c lib-asprintf.c autosprintf.obj : autosprintf.cc autosprintf.h config.h lib-asprintf.h $(CXX) $(INCLUDES) $(CXXFLAGS) $(PICFLAGS) -c autosprintf.cc !if !$(DLL) asprintf.lib : $(OBJECTS) -$(RM) asprintf.lib $(AR) $(AR_FLAGS)asprintf.lib $(OBJECTS) !else # asprintf.dll and asprintf.lib are created together. asprintf.lib : $(OBJECTS) $(RESOURCES) $(CC) $(MFLAGS) $(DEBUGFLAGS) -LD $(OBJECTS) $(RESOURCES) -Feasprintf.dll asprintf.res : windows/asprintf.rc rc -Fo asprintf.res windows/asprintf.rc !endif install : all force -mkdir $(prefix) -mkdir $(includedir) $(INSTALL_DATA) autosprintf.h $(includedir)\autosprintf.h -mkdir $(exec_prefix) !if $(DLL) -mkdir $(bindir) $(INSTALL_DATA) asprintf.dll $(bindir)\asprintf.dll !endif -mkdir $(libdir) $(INSTALL_DATA) asprintf.lib $(libdir)\asprintf.lib -mkdir $(datadir) -mkdir $(datadir)\doc -mkdir $(sub_docdir) $(INSTALL_DATA) autosprintf.html $(sub_docdir)\autosprintf.html installdirs : force -mkdir $(prefix) -mkdir $(includedir) -mkdir $(exec_prefix) !if $(DLL) -mkdir $(bindir) !endif -mkdir $(libdir) -mkdir $(datadir) -mkdir $(datadir)\doc -mkdir $(sub_docdir) uninstall : force $(RM) $(includedir)\autosprintf.h !if $(DLL) $(RM) $(bindir)\asprintf.dll !endif $(RM) $(libdir)\asprintf.lib $(RM) $(sub_docdir)\autosprintf.html check : all mostlyclean : clean clean : force $(RM) autosprintf.h $(RM) config.h $(RM) alloca.h $(RM) *.obj $(RM) *.lib $(RM) *.exp $(RM) *.dll $(RM) asprintf.res $(RM) core distclean : clean maintainer-clean : distclean force :