summaryrefslogtreecommitdiff
path: root/Sockets/Makefile
blob: 631501dbc3d708c2283490ebe36ae01b20a7712b (plain) (blame)
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
# platforms:
#  linux-x86-32
#  win32-cygwin
#  solaris9-sparc-64
#  macosx
#  solaris8
PLATFORM =	linux-x86-32
IPPROTO_IPV6 = yes

# .h files installed to $(PREFIX)/include/Sockets
# static lib .a files installed to $(PREFIX)/lib
PREFIX =	/usr/local

# include paths
INCLUDE =	

include		Makefile.version

# CXX, CFLAGS, LIBS
include		Makefile.Defines.$(PLATFORM)

# uncomment these lines if the library should be in its own namespace
CFLAGS +=	-DSOCKETS_NAMESPACE=sockets
CFLAGS +=	-DSOCKETS_NAMESPACE_STR='"sockets"'

# Enable insane amounts of debug output to stdout/stderr:
#CFLAGS +=	-D_DEBUG
#CFLAGS +=	-DIPPROTO_IPV6


CPPFLAGS =	$(CFLAGS) 

PROGS =		Sockets-config

all:		libSockets.a $(PROGS)

libSockets.a:	$(OBJS)
		ar cru $@ $(OBJS)
		ranlib $@

Sockets-config:	Sockets-config.o
		$(CXX) -o $@ $^

clean:
		rm -f *.o *~ slask *.d $(PROGS) *.a */*~

-include	*.d


# everything which follows is www.alhem.net/Sockets website maintenance stuff, please ignore
HTDOCS =	/usr/local/apache/www.alhem.net/htdocs

diff:
		diff -b -B -C 3 /usr/src/Sockets-$(DIFF_VERSION) . | \
			/usr/local/bin/d2html > \
			$(HTDOCS)/Sockets/latest_diff.html

install:	all 
		@mkdir -p $(PREFIX)/lib
		cp libSockets.a $(PREFIX)/lib
		@mkdir -p $(PREFIX)/include/Sockets
		cp -a *.h $(PREFIX)/include/Sockets
		@rm -f $(PREFIX)/include/Sockets/SSLSocket.*
		@rm -f $(PREFIX)/include/Sockets/HttpsGetSocket.*
		@rm -f $(PREFIX)/include/Sockets/HttpsSocket.*
		@rm -f $(PREFIX)/include/Sockets/EventSocket.*
		@rm -f $(PREFIX)/include/Sockets/PoolSocket.*
		@rm -f $(PREFIX)/include/Sockets/SocketThread.*
		@rm -f $(PREFIX)/include/Sockets/CircularBuffer.*
		@rm -f $(PREFIX)/include/Sockets/*Crypt.h
		@rm -f $(PREFIX)/include/Sockets/CTcpSocket.h
		@rm -f $(PREFIX)/include/Sockets/Min*Socket.h
		@rm -f $(PREFIX)/include/Sockets/Min*Handler.h
		@rm -f $(PREFIX)/include/Sockets/Uid.h
		@mkdir -p $(PREFIX)/bin
		install Sockets-config $(PREFIX)/bin

# no binary files, zip will translate lf to cr lf
FILES =		*.h *.cpp Makefile Makefile.* Project/*.ds* \
		README.macosx gpl.txt mkdot.sh \
		Project.net/Sockets/*.vcproj Project.net/Sockets/*.sln \
		Project.net/Test/*.vcproj \
		DevCpp/*.dev tests/Makefile tests/*.cpp \
		OSX.zip

tar:		clean
		rm -f MinderSocket_T.h
		rm -f uuid.h
		rm -f Stdin.*
		rm -f sockets_test.cpp
		rm -f ListenSocketBase.*
		rm -f CircularBuffer.*
		rm -f ICrypt.* NullCrypt.* CTcpSocket.*
		rm -f Min*Socket.* Min*Handler.*
		rm -f Uid.*
		tar czf Sockets-$(VERSION).tar.gz $(FILES)
		/usr/local/bin/tarfix.sh Sockets-$(VERSION)
		cp Sockets-$(VERSION).tar.gz $(HTDOCS)/Sockets
		cp Sockets-$(VERSION).zip $(HTDOCS)/Sockets
		cp tests/sockets_test.cpp /usr/local/apache/www.alhem.net/htdocs/Sockets/
#		$(MAKE) -C ../SocketsLite tar

tmptar:		clean
		rm -f MinderSocket_T.h
		rm -f uuid.h
		rm -f Stdin.*
		rm -f sockets_test.cpp
		rm -f ListenSocketBase.*
		rm -f CircularBuffer.*
		rm -f ICrypt.* NullCrypt.* CTcpSocket.*
		rm -f Min*Socket.* Min*Handler.*
		rm -f Uid.*
		tar czf Sockets-$(VERSION).tar.gz $(FILES)
		/usr/local/bin/tarfix.sh Sockets-$(VERSION)
		cp Sockets-$(VERSION).tar.gz $(HTDOCS)/Sockets-tmp
		cp Sockets-$(VERSION).zip $(HTDOCS)/Sockets-tmp
		cp tests/sockets_test.cpp /usr/local/apache/www.alhem.net/htdocs/Sockets-tmp
		$(MAKE) -C ../SocketsLite tmptar

docs:		clean
		doxygen dox2.cfg
		rm -f MinderSocket_T.h
		rm -f uuid.h
		rm -f Stdin.*
		rm -f sockets_test.cpp
		rm -f ListenSocketBase.*
		rm -f CircularBuffer.*
		rm -f ICrypt.* NullCrypt.* CTcpSocket.*
		rm -f Min*Socket.* Min*Handler.*
		rm -f Uid.*
		rm -f tests/*.cpp
		./mkdot.sh
		rm -rf /usr/local/apache/www.alhem.net/htdocs/Sockets/html
		doxygen doxygen.cfg
		./packdocs.sh Sockets-$(VERSION)-doxygendocs
		cvs up
#		$(MAKE) -C ../SocketsLite docs

tmpdocs:	clean
		rm -f MinderSocket_T.h
		rm -f uuid.h
		rm -f Stdin.*
		rm -f sockets_test.cpp
		rm -f ListenSocketBase.*
		rm -f CircularBuffer.*
		rm -f ICrypt.* NullCrypt.* CTcpSocket.*
		rm -f Min*Socket.* Min*Handler.*
		rm -f Uid.*
		rm -f tests/*.cpp
		./mkdot-tmp.sh
		rm -rf /usr/local/apache/www.alhem.net/htdocs/Sockets-tmp/html
		doxygen doxygen-tmp.cfg
		cvs up
		$(MAKE) -C ../SocketsLite tmpdocs