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 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
# -*- Makefile -*- for callback
#### Start of system configuration section. ####
# Flags that can be set on the nmake command line:
# 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
# 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.
# Building as a DLL not supported yet.
DLL=0
!if !defined(DEBUG)
DEBUG=0
!endif
!if !defined(MFLAGS)
!if !$(DLL)
MFLAGS=
!else
MFLAGS=-MD
!endif
!endif
!if $(DEBUG)
OPTIMFLAGS = -Od -Z7
!else
OPTIMFLAGS = -D_NDEBUG -O1
!endif
HOST = i386-pc-win32-msvc
CPU = i386
# Directories used by "make":
srcdir = .
# Directories used by "make install":
prefix = /usr/local
local_prefix = /usr/local
exec_prefix = $(prefix)
libdir = $(exec_prefix)/lib
includedir = $(prefix)/include
mandir = $(prefix)/man
# Programs used by "make":
CC = cl
CFLAGS = $(MFLAGS) $(OPTIMFLAGS)
CPP = cl -E
INCLUDES = -I. -I$(srcdir)
AR = lib
AR_FLAGS = /out:
MV = ren
LN = copy
RM = -del
# Programs used by "make install":
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
#### End of system configuration section. ####
SHELL = /bin/sh
OBJECTS = vacall_r/vacall.obj vacall_r/misc.obj vacall_r/structcpy.obj trampoline_r/trampoline.obj
all : $(OBJECTS) callback.h vacall_r.h trampoline_r.h callback.lib $(srcdir)/callback.3 $(srcdir)/callback.html
callback.h : $(srcdir)/callback.h.in
-$(LN) $(srcdir)\callback.h.in callback.h
vacall_r.h : vacall_r/vacall_r.h
$(LN) vacall_r\vacall_r.h vacall_r.h
vacall_r/vacall_r.h : vacall_r/vacall_r.h.msvc
$(RM) vacall_r\vacall_r.h
$(LN) vacall_r\vacall_r.h.msvc vacall_r\vacall_r.h
vacall_r/config.h : vacall_r/config.h.msvc
$(RM) vacall_r\config.h
$(LN) vacall_r\config.h.msvc vacall_r\config.h
vacall_r/vacall.obj : vacall_r/vacall-$(CPU).obj
$(RM) vacall_r\vacall.obj
$(LN) vacall_r\vacall-$(CPU).obj vacall_r\vacall.obj
vacall_r/vacall-i386.obj : $(srcdir)/vacall_r/vacall-i386-msvc.c vacall_r/vacall_r.h
$(RM) vacall_r\vacall-i386.obj
$(CC) -c $(srcdir)/vacall_r/vacall-i386-msvc.c /Fovacall_r/vacall-i386.obj
vacall_r/misc.obj : $(srcdir)/vacall_r/misc.c vacall_r/vacall_r.h vacall_r/config.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/vacall_r/misc.c /Fovacall_r/misc.obj
vacall_r/structcpy.obj : $(srcdir)/vacall_r/structcpy.c
$(CC) $(CFLAGS) -c $(srcdir)/vacall_r/structcpy.c /Fovacall_r/structcpy.obj
trampoline_r.h : trampoline_r/trampoline_r.h
$(LN) trampoline_r\trampoline_r.h trampoline_r.h
trampoline_r/trampoline_r.h : $(srcdir)/trampoline_r/trampoline_r.h.in
-$(LN) $(srcdir)\trampoline_r\trampoline_r.h.in trampoline_r\trampoline_r.h
trampoline_r/config.h : $(srcdir)/trampoline_r/config.h.msvc
-$(LN) $(srcdir)\trampoline_r\config.h.msvc trampoline_r\config.h
trampoline_r/trampoline.obj : $(srcdir)/trampoline_r/trampoline.c trampoline_r/trampoline_r.h trampoline_r/config.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/trampoline_r/trampoline.c /Fotrampoline_r/trampoline.obj
!if !$(DLL)
callback.lib : $(OBJECTS)
$(RM) callback.lib
$(AR) $(AR_FLAGS)callback.lib $(OBJECTS)
!else
# callback.dll and callback.lib are created together.
callback.lib : $(OBJECTS)
$(CC) $(MFLAGS) -LD $(OBJECTS) -Fecallback.dll
!endif
test1.obj : $(srcdir)/trampoline_r/test1.c trampoline_r/trampoline_r.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/trampoline_r/test1.c
test1.exe : test1.obj callback.lib
$(RM) test1.ilk
$(CC) $(CFLAGS) test1.obj callback.lib /Fetest1.exe
test2.obj : $(srcdir)/trampoline_r/test2.c trampoline_r/trampoline_r.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/trampoline_r/test2.c
test2.exe : test2.obj callback.lib
$(RM) test2.ilk
$(CC) $(CFLAGS) test2.obj callback.lib /Fetest2.exe
tests.obj : $(srcdir)/tests.c callback.h vacall_r.h trampoline_r.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/tests.c
tests.s : $(srcdir)/tests.c callback.h vacall_r.h trampoline_r.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/tests.c /FAs /Fatests.s
tests.exe : tests.obj callback.lib
$(CC) $(CFLAGS) tests.obj callback.lib /Fetests.exe
uniq-u.exe : $(srcdir)/uniq-u.c
$(CC) $(CFLAGS) $(srcdir)/uniq-u.c -Feuniq-u.exe
$(RM) uniq-u.obj
check1 : all test1.exe
test1.exe
check2 : all test1.exe test2.exe
test1.exe
test2.exe
check : all test1.exe test2.exe tests.exe uniq-u.exe
test1.exe
test2.exe
tests.exe > tests.out
uniq-u < tests.out > tests.output.$(HOST)
mostlyclean : clean
clean : force
$(RM) vacall_r\vacall.obj vacall_r\vacall-i386.obj vacall_r\misc.obj vacall_r\structcpy.obj trampoline_r\trampoline.obj callback.lib callback.exp callback.dll core
$(RM) test1.obj test1.exe test2.obj test2.exe
$(RM) tests.obj tests.s tests.exe uniq-u.exe tests.out
distclean : clean
$(RM) config.status config.log config.cache Makefile vacall_r\vacall_r.h vacall_r\config.h trampoline_r\config.h trampoline_r\trampoline_r.h vacall_r.h trampoline_r.h tests.output.*
maintainer-clean : distclean
force :
|