No empty .Rs/.Re
[netbsd-mini2440.git] / gnu / dist / gettext / gettext-runtime / libasprintf / Makefile.msvc
blob402ed941912b398cfea007d073d743f8482a32ea
1 # -*- Makefile -*- for gettext-runtime/libasprintf
3 #### Start of system configuration section. ####
5 # Flags that can be set on the nmake command line:
6 #   DLL=1     for compiling a .dll with a stub .lib (default is a static .lib)
7 #             Note that this works only with MFLAGS=-MD.
8 #   MFLAGS={-ML|-MT|-MD} for defining the compilation model
9 #     MFLAGS=-ML (the default)  Single-threaded, statically linked - libc.lib
10 #     MFLAGS=-MT                Multi-threaded, statically linked  - libcmt.lib
11 #     MFLAGS=-MD                Multi-threaded, dynamically linked - msvcrt.lib
12 #   DEBUG=1   for compiling with debugging information
13 #   PREFIX=Some\Directory   Base directory for installation
14 # Note that nmake command line flags are automatically passed to subdirectory
15 # Makefiles. Therefore we don't need to pass them explicitly to subdirectory
16 # Makefiles, but the subdirectory Makefiles need to have the same defaults.
17 !if !defined(DLL)
18 DLL=0
19 !endif
20 !if !defined(DEBUG)
21 DEBUG=0
22 !endif
23 !if !defined(MFLAGS)
24 !if !$(DLL)
25 MFLAGS=
26 !else
27 MFLAGS=-MD
28 !endif
29 !endif
30 !if !defined(PREFIX)
31 PREFIX = c:\usr
32 !endif
34 # Directories used by "make install":
35 prefix = $(PREFIX)
36 exec_prefix = $(prefix)
37 datadir = $(prefix)\share
38 bindir = $(exec_prefix)\bin
39 libdir = $(exec_prefix)\lib
40 includedir = $(prefix)\include
41 # For this subpackage only.
42 sub_docdir = $(datadir)\doc\libasprintf
44 # Programs used by "make":
46 CC = cl
47 CXX = cl -TP
49 # Set to -W3 if you want to see maximum amount of warnings, including stupid
50 # ones. Set to -W1 to avoid warnings about signed/unsigned combinations.
51 WARN_CFLAGS = -W1
53 !if !$(DLL)
54 PICFLAGS =
55 !else
56 # "-GD" (msvc5) optimizes for DLL.
57 # mscv4 doesn't know about this flag and ignores it.
58 PICFLAGS = -GD
59 !endif
61 !if $(DEBUG)
62 OPTIMFLAGS = -Od -Z7
63 DEBUGFLAGS = -Z7
64 !else
65 # Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5.
66 OPTIMFLAGS = -D_NDEBUG -O1
67 DEBUGFLAGS =
68 !endif
70 # -DBUILDING_LIBASPRINTF: Change expansion of LIBASPRINTF_DLL_EXPORTED macro.
71 CFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBASPRINTF
72 CXXFLAGS = $(MFLAGS) $(WARN_CFLAGS) $(OPTIMFLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBASPRINTF -GX
74 INCLUDES = -I.
76 AR = lib
77 AR_FLAGS = /out:
79 LN = copy
80 RM = -del
82 # Programs used by "make install":
83 INSTALL = copy
84 INSTALL_PROGRAM = copy
85 INSTALL_DATA = copy
87 #### End of system configuration section. ####
89 SHELL = /bin/sh
91 OBJECTS = lib-asprintf.obj autosprintf.obj
93 RESOURCES = asprintf.res
95 all : autosprintf.h asprintf.lib
97 autosprintf.h :
98 !if !$(DLL)
99         $(LN) autosprintf.h.in autosprintf.h
100 !else
101         $(LN) autosprintf.h.msvc-shared autosprintf.h
102 !endif
104 config.h : config.h.msvc
105         -$(RM) config.h
106         $(LN) config.h.msvc config.h
108 alloca.h : alloca_.h
109         -$(RM) alloca.h
110         $(LN) alloca_.h alloca.h
112 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
113         $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c lib-asprintf.c
115 autosprintf.obj : autosprintf.cc autosprintf.h config.h lib-asprintf.h
116         $(CXX) $(INCLUDES) $(CXXFLAGS) $(PICFLAGS) -c autosprintf.cc
118 !if !$(DLL)
120 asprintf.lib : $(OBJECTS)
121         -$(RM) asprintf.lib
122         $(AR) $(AR_FLAGS)asprintf.lib $(OBJECTS)
124 !else
126 # asprintf.dll and asprintf.lib are created together.
127 asprintf.lib : $(OBJECTS) $(RESOURCES)
128         $(CC) $(MFLAGS) $(DEBUGFLAGS) -LD $(OBJECTS) $(RESOURCES) -Feasprintf.dll
130 asprintf.res : windows/asprintf.rc
131         rc -Fo asprintf.res windows/asprintf.rc
133 !endif
135 install : all force
136         -mkdir $(prefix)
137         -mkdir $(includedir)
138         $(INSTALL_DATA) autosprintf.h $(includedir)\autosprintf.h
139         -mkdir $(exec_prefix)
140 !if $(DLL)
141         -mkdir $(bindir)
142         $(INSTALL_DATA) asprintf.dll $(bindir)\asprintf.dll
143 !endif
144         -mkdir $(libdir)
145         $(INSTALL_DATA) asprintf.lib $(libdir)\asprintf.lib
146         -mkdir $(datadir)
147         -mkdir $(datadir)\doc
148         -mkdir $(sub_docdir)
149         $(INSTALL_DATA) autosprintf_all.html $(sub_docdir)\autosprintf.html
151 installdirs : force
152         -mkdir $(prefix)
153         -mkdir $(includedir)
154         -mkdir $(exec_prefix)
155 !if $(DLL)
156         -mkdir $(bindir)
157 !endif
158         -mkdir $(libdir)
159         -mkdir $(datadir)
160         -mkdir $(datadir)\doc
161         -mkdir $(sub_docdir)
163 uninstall : force
164         $(RM) $(includedir)\autosprintf.h
165 !if $(DLL)
166         $(RM) $(bindir)\asprintf.dll
167 !endif
168         $(RM) $(libdir)\asprintf.lib
169         $(RM) $(sub_docdir)\autosprintf.html
171 check : all
173 mostlyclean : clean
175 clean : force
176         $(RM) autosprintf.h
177         $(RM) config.h
178         $(RM) alloca.h
179         $(RM) *.obj
180         $(RM) *.lib
181         $(RM) *.exp
182         $(RM) *.dll
183         $(RM) asprintf.res
184         $(RM) core
186 distclean : clean
188 maintainer-clean : distclean
190 force :