summaryrefslogtreecommitdiff
path: root/src/Makefile.win32
blob: f7aec5a0e42ee671062ac40b79ee675d50d6cf49 (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
#
#	Ivy, C interface
#
#	Copyright (C) 1997-2002
#	Centre d'Études de la Navigation Aérienne
#
# 	Makefile
#
#	Authors: François-Régis Colin <fcolin@cena.fr>
# 		 Stéphane Chatty <chatty@cena.fr>
# 		 Yannick Jestin <jestin@cena.fr>
#
#	Please refer to file version.h for the
#	copyright notice regarding this software
#


# change this in version.h too !!!!
MAJOR=3
MINOR=8

PCREINC = -I "C:\Documents and Settings\fcolin\My Documents\Visual Studio 2005\Projects\pcre-6.4" 
PCRELIB = "C:\Documents and Settings\fcolin\My Documents\Visual Studio 2005\Projects\pcre-6.4\lib\libpcre.lib" #`pcre-config --libs`

#PCREINC = -I "C:\Program Files\GnuWin32\include" #`pcre-config --cflags`
#PCRELIB = "C:\Program Files\GnuWin32\lib\libpcre.lib" #`pcre-config --libs`

PCRE_OPT = PCRE_CASELESS
REGCOMP_OPT = REG_ICASE

#	PCRE_OPT = 0
#	REGCOMP_OPT = REG_EXTENDED	


#PCREOBJ = `pcre-config --prefix`/lib/libpcre.a
PCREOBJ = 

#CC=gcc
#CFLAGS = -g -Wall
CFLAGS = -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -nologo
#LIBTOOL=ar q # linux and solaris
#LIBTOOL=libtool -static -o
LIBTOOL=lib -nologo /out:

#REGEXP = -DGNU_REGEXP  -DREGCOMP_OPT=$(REGCOMP_OPT) # deprecated !
REGEXP= -DUSE_PCRE_REGEX -DPCRE_OPT=$(PCRE_OPT)
# on activeTCL , set #define CHANNEL to null, and add ivyloop.obj in the ivytcl target,
# see below
CHANNEL = -DTCL_CHANNEL_INTEGRATION 

OBJ = ivyloop.obj timer.obj ivysocket.obj ivy.obj 

# WINDOWS add ivyloop.obj if TCL_CHANNEL_INTEGRATION is not set
TARGETS = ivyprobe ivyperf 
TARGETLIBS=libivy.dll

.c.obj:
	$(CC) $(CFLAGS) -c $*.c

all: static-libs commands shared-libs

static-libs: libivy.lib

shared-libs: $(TARGETLIBS)

commands: $(TARGETS)

ivy.obj: ivy.c
	$(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) ivy.c


ivyprobe: ivyprobe.obj libivy.lib
	$(CC)  $(CFLAGS) -o $@ ivyprobe.obj libivy.lib wsock32.lib $(PCRELIB)

ivyprobe.obj : ivyprobe.c 
	$(CC)  $(CFLAGS) $(REGEXP) $(PCREINC) -c ivyprobe.c -o $@ 
	
ivyperf: ivyperf.obj libivy.lib
	$(CC)  $(CFLAGS) -o $@ ivyperf.obj libivy.lib wsock32.lib $(PCRELIB)

ivyperf.obj : ivyperf.c
	$(CC)  $(CFLAGS) $(REGEXP) $(PCREINC) -c ivyperf.c -o $@


libivy.lib: $(OBJ)
	del /f $@
	$(LIBTOOL)$@ $(OBJ)


# TODO this PCREOBJ is a dirty hack

libivy.dll: $(OBJ)
	$(CC) /dll -o $@ $(OBJ) $(PCRELIB)

clean:
	-del /f $(TARGETS) $(TARGETLIBS) *.obj *.a *.dll *~