blob: a2f501684d5f02d17137fd68a37575c140ebeb92 (
plain)
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
|
# -*- Makefile -*- for libsigsegv
#### 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
# 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
# Programs used by "make":
CC = cl
CFLAGS = $(MFLAGS) $(OPTIMFLAGS)
CPP = cl -E
INCLUDES = -I. -I$(srcdir)
AR = lib
AR_FLAGS = /out:
MV = ren
CP = copy
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 = handler.obj dispatcher.obj version.obj
all : sigsegv.lib
config.h : config.h.msvc
$(CP) $(srcdir)\config.h.msvc config.h
sigsegv.h : src/sigsegv.h.msvc
$(CP) $(srcdir)\src\sigsegv.h.msvc sigsegv.h
handler.obj : $(srcdir)/src/handler.c $(srcdir)/src/handler-win32.c sigsegv.h config.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/src/handler.c
dispatcher.obj : $(srcdir)/src/dispatcher.c sigsegv.h config.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/src/dispatcher.c
version.obj : $(srcdir)/src/version.c sigsegv.h
$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/src/version.c
!if !$(DLL)
sigsegv.lib : $(OBJECTS)
$(RM) sigsegv.lib
$(AR) $(AR_FLAGS)sigsegv.lib $(OBJECTS)
!else
# sigsegv.dll and sigsegv.lib are created together.
sigsegv.lib : $(OBJECTS)
$(CC) $(MFLAGS) -LD $(OBJECTS) -Fesigsegv.dll
!endif
sigsegv1.exe : $(srcdir)/tests/sigsegv1.c sigsegv.h sigsegv.lib
$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/sigsegv1.c sigsegv.lib /Fesigsegv1
sigsegv2.exe : $(srcdir)/tests/sigsegv2.c sigsegv.h sigsegv.lib
$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/sigsegv2.c sigsegv.lib /Fesigsegv2
stackoverflow1.exe : $(srcdir)/tests/stackoverflow1.c sigsegv.h sigsegv.lib
$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/stackoverflow1.c sigsegv.lib /Festackoverflow1
stackoverflow2.exe : $(srcdir)/tests/stackoverflow2.c sigsegv.h sigsegv.lib
$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/stackoverflow2.c sigsegv.lib /Festackoverflow2
check : all sigsegv1.exe sigsegv2.exe stackoverflow1.exe stackoverflow2.exe
sigsegv1.exe
sigsegv2.exe
stackoverflow1.exe
stackoverflow2.exe
mostlyclean : clean
clean : force
$(RM) sigsegv.h *.obj *.lib *.exp *.dll core
$(RM) sigsegv1.exe sigsegv2.exe stackoverflow1.exe stackoverflow2.exe
distclean : clean
$(RM) config.status config.log config.cache Makefile config.h
maintainer-clean : distclean
force :
|