File: Makefile.win

package info (click to toggle)
modsecurity-apache 2.9.12-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,444 kB
  • sloc: ansic: 53,551; sh: 5,249; perl: 2,341; cpp: 1,930; makefile: 618; xml: 6
file content (93 lines) | stat: -rw-r--r-- 2,853 bytes parent folder | download | duplicates (9)
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
###########################################################################
#
# Usage:   NMAKE -f Makefile.win APACHE={httpd installion dir}  PCRE={pcre dir} LIBXML2={LibXML2 dir} [   LUA={Lua dir} ]
#
!IF "$(APACHE)" == "" || "$(PCRE)" == "" || "$(LIBXML2)" == "" || "$(CURL)" == ""
!ERROR NMAKE arguments: APACHE=dir PCRE=dir LIBXML2=dir CURL=dir are required to build mod_security2 for Windows
!ENDIF

# Linking libraries
LIBS = $(APACHE)\lib\libhttpd.lib \
       $(APACHE)\lib\libapr-1.lib \
       $(APACHE)\lib\libaprutil-1.lib \
       $(PCRE)\pcre.lib \
       $(CURL)\libcurl.lib \
       $(LIBXML2)\win32\bin.msvc\libxml2.lib \
       Ws2_32.lib \
       "iphlpapi.lib"

###########################################################################
###########################################################################


!IF "$(IIS_BUILD)" == "yes"
DEFS=$(DEFS) -DVERSION_IIS
!ENDIF

CC = CL

MT = mt

DEFS = /nologo /O2 /LD /W3 /wd4244 /wd4018 -DWIN32 -DWINNT -Dinline=APR_INLINE -D$(VERSION)

DLL = mod_security2.so

INCLUDES = -I. -I.. \
           -I$(CURL)\include -I$(CURL) \
           -I$(PCRE)\include -I$(PCRE) \
           -I$(LIBXML2)\include \
           -I$(APACHE)\include

# Enables support for SecRemoteRules and external resources.
DEFS=$(DEFS) -DWITH_CURL -DWITH_REMOTE_RULES

# Lua is optional
!IF "$(LUA)" != ""
LIBS = $(LIBS) $(LUA)\lua5.1.lib
DEFS=$(DEFS) -DWITH_LUA
INCLUDES = $(INCLUDES) -I$(LUA)\include -I$(LUA) \
!ENDIF

# Yajl/Json is optional
!IF "$(YAJL)" != ""
LIBS = $(LIBS) $(YAJL)\lib\yajl.lib
DEFS=$(DEFS) -DWITH_YAJL
INCLUDES = $(INCLUDES) -I$(YAJL)\include -I$(YAJL) \
!ENDIF

CFLAGS= -MD $(INCLUDES) $(DEFS)

LDFLAGS =

OBJS = mod_security2.obj apache2_config.obj apache2_io.obj apache2_util.obj \
       re.obj re_operators.obj re_actions.obj re_tfns.obj re_variables.obj \
       msc_logging.obj msc_xml.obj msc_multipart.obj modsecurity.obj \
       msc_parsers.obj msc_util.obj msc_pcre.obj persist_dbm.obj \
       msc_reqbody.obj msc_geo.obj msc_gsb.obj msc_crypt.obj msc_tree.obj msc_unicode.obj acmp.obj msc_lua.obj \
       msc_release.obj \
       msc_status_engine.obj \
       msc_remote_rules.obj \
       msc_json.obj \
       libinjection/libinjection_html5.obj \
       libinjection/libinjection_sqli.obj \
       libinjection/libinjection_xss.obj

all: $(DLL)

dll: $(DLL)

.c.obj:
        $(CC) $(CFLAGS) -c $< -Fo$@

.cpp.obj:
        $(CC) $(CFLAGS) -c $< -Fo$@

$(DLL): $(OBJS)
        $(CC) $(CFLAGS) $(LDFLAGS) -LD $(OBJS) -Fe$(DLL) $(LIBS) /link
        IF EXIST $(DLL).manifest $(MT) -manifest $(DLL).manifest -outputresource:$(DLL);2

install: $(DLL)
        copy /Y $(DLL) $(APACHE)\modules

clean:
        del $(OBJS) $(DLL) *.dll *.lib *.pdb *.idb *.ilk *.exp *.res *.rc *.bin *.manifest