1
# -*- Makefile -*- for vacall
3
#### Start of system configuration section. ####
5
# Flags that can be set on the nmake command line:
6
# MFLAGS={-ML|-MT|-MD} for defining the compilation model
7
# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib
8
# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib
9
# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib
10
# DEBUG=1 for compiling with debugging information
11
# Note that nmake command line flags are automatically passed to subdirectory
12
# Makefiles. Therefore we don't need to pass them explicitly to subdirectory
13
# Makefiles, but the subdirectory Makefiles need to have the same defaults.
14
# Building as a DLL not supported yet.
30
OPTIMFLAGS = -D_NDEBUG -O1
33
HOST = i386-pc-win32-msvc
36
# Directories used by "make":
39
# Directories used by "make install":
41
local_prefix = /usr/local
42
exec_prefix = $(prefix)
43
libdir = $(exec_prefix)/lib
44
includedir = $(prefix)/include
45
mandir = $(prefix)/man
47
# Programs used by "make":
49
CFLAGS = $(MFLAGS) $(OPTIMFLAGS)
51
INCLUDES = -I. -I$(srcdir)
58
# Programs used by "make install":
60
INSTALL_PROGRAM = @INSTALL_PROGRAM@
61
INSTALL_DATA = @INSTALL_DATA@
63
#### End of system configuration section. ####
67
OBJECTS = vacall.obj misc.obj structcpy.obj
69
all : $(OBJECTS) vacall.lib vacall.h $(srcdir)/vacall.3 $(srcdir)/vacall.html
71
vacall.h : vacall.h.msvc
73
$(LN) vacall.h.msvc vacall.h
75
config.h : config.h.msvc
77
$(LN) config.h.msvc config.h
79
vacall.obj : vacall-$(CPU).obj
81
$(LN) vacall-$(CPU).obj vacall.obj
83
vacall-i386.obj : $(srcdir)/vacall-i386-msvc.c vacall.h
85
$(CC) -c $(srcdir)/vacall-i386-msvc.c /Fovacall-i386.obj
87
misc.obj : $(srcdir)/misc.c vacall.h config.h
88
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/misc.c
90
structcpy.obj : $(srcdir)/structcpy.c
91
$(CC) $(CFLAGS) -c $(srcdir)/structcpy.c
94
vacall.lib : $(OBJECTS)
96
$(AR) $(AR_FLAGS)vacall.lib $(OBJECTS)
98
# vacall.dll and vacall.lib are created together.
99
vacall.lib : $(OBJECTS)
100
$(CC) $(MFLAGS) -LD $(OBJECTS)
103
tests.obj : $(srcdir)/tests.c vacall.h
104
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/tests.c
106
tests.s : $(srcdir)/tests.c vacall.h
107
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/tests.c /FAs /Fatests.s
109
tests.exe : tests.obj vacall.lib
110
$(CC) $(CFLAGS) tests.obj vacall.lib /Fetests.exe
112
uniq-u.exe : $(srcdir)/uniq-u.c
113
$(CC) $(CFLAGS) $(srcdir)/uniq-u.c -Feuniq-u.exe
116
check : all tests.exe uniq-u.exe
117
tests.exe > tests.out
118
uniq-u < tests.out > tests.output.$(HOST)
123
$(RM) *.obj *.lib *.exp *.dll core
125
$(RM) tests.obj tests.s tests.exe uniq-u.exe tests.out
128
$(RM) config.status config.log config.cache Makefile vacall.h config.h tests.output.*
130
maintainer-clean : distclean