@@ -38,20 +38,8 @@ VERSION = 1.9
38
38
# #########################
39
39
# Supported OSes:
40
40
#
41
- # OS = AIX
42
- # OS = CYGWIN
43
41
# OS = DARWIN
44
- # OS = FREEBSD
45
- # OS = HPUX
46
- # OS = HPUX_64
47
- # OS = IRIX
48
- # OS = IRIX_64
49
42
# OS = LINUX
50
- # OS = NETBSD
51
- # OS = OPENBSD
52
- # OS = OSF1
53
- # OS = SOLARIS
54
- # OS = SOLARIS_64
55
43
56
44
# Please see the "Other possible defines" section below for
57
45
# possible compilation options.
@@ -62,6 +50,7 @@ AR = ar
62
50
LD = ld
63
51
RANLIB = ranlib
64
52
LN = ln
53
+ STATIC_ONLY = yes
65
54
66
55
SHELL = /bin/sh
67
56
ECHO = /bin/echo
@@ -72,7 +61,7 @@ TARGETDIR = $(OS)_$(shell uname -r)_$(BUILD)
72
61
DEFINES = -D$(OS )
73
62
CFLAGS =
74
63
SFLAGS =
75
- ARFLAGS = -rv
64
+ ARFLAGS = -r
76
65
LNFLAGS = -s
77
66
DSO_SUFFIX = so
78
67
@@ -83,20 +72,8 @@ DESC = st.pc
83
72
# Platform section.
84
73
# Possible targets:
85
74
86
- TARGETS = aix-debug aix-optimized \
87
- cygwin-debug cygwin-optimized \
88
- darwin-debug darwin-optimized \
89
- freebsd-debug freebsd-optimized \
90
- hpux-debug hpux-optimized \
91
- hpux-64-debug hpux-64-optimized \
92
- irix-n32-debug irix-n32-optimized \
93
- irix-64-debug irix-64-optimized \
94
- linux-debug linux-optimized \
95
- netbsd-debug netbsd-optimized \
96
- openbsd-debug openbsd-optimized \
97
- osf1-debug osf1-optimized \
98
- solaris-debug solaris-optimized \
99
- solaris-64-debug solaris-64-optimized
75
+ TARGETS = darwin-debug darwin-optimized \
76
+ linux-debug linux-optimized
100
77
101
78
UTEST_TARGETS = darwin-debug-utest linux-debug-utest \
102
79
darwin-debug-gcov linux-debug-gcov
@@ -105,138 +82,35 @@ UTEST_TARGETS = darwin-debug-utest linux-debug-utest \
105
82
# Platform specifics
106
83
#
107
84
108
- ifeq ($(OS ) , AIX)
109
- AIX_VERSION = $(shell uname -v) .$(shell uname -r)
110
- TARGETDIR = $(OS ) _$(AIX_VERSION ) _$(BUILD )
111
- CC = xlC
112
- STATIC_ONLY = yes
113
- ifeq ($(BUILD ) , OPT)
114
- OTHER_FLAGS = -w
115
- endif
116
- ifneq ($(filter-out 4.1 4.2, $(AIX_VERSION ) ) ,)
117
- DEFINES += -DMD_HAVE_SOCKLEN_T
118
- endif
119
- endif
120
-
121
- ifeq ($(OS ) , CYGWIN)
122
- TARGETDIR = $(OS ) _$(BUILD )
123
- CC = gcc
124
- LD = gcc
125
- DSO_SUFFIX = dll
126
- SLIBRARY = $(TARGETDIR ) /libst.dll.a
127
- DLIBRARY = $(TARGETDIR ) /libst.dll
128
- DEF_FILE = $(TARGETDIR ) /libst.def
129
- LDFLAGS = libst.def -shared --enable-auto-image-base -Wl,--output-def,$(DEF_FILE ) ,--out-implib,$(SLIBRARY )
130
- OTHER_FLAGS = -Wall
131
- endif
132
-
133
85
ifeq ($(OS ) , DARWIN)
134
86
EXTRA_OBJS = $(TARGETDIR ) /md_darwin.o
135
87
LD = cc
136
88
SFLAGS = -fPIC -fno-common
137
89
DSO_SUFFIX = dylib
138
- RELEASE = $(shell uname -r | cut -d. -f1)
139
- PPC = $(shell test $(RELEASE ) -le 9 && echo yes)
140
- INTEL = $(shell test $(RELEASE ) -ge 9 && echo yes)
141
- ifeq ($(PPC ) , yes)
142
- CFLAGS += -arch ppc
143
- LDFLAGS += -arch ppc
144
- endif
145
- ifeq ($(INTEL ) , yes)
146
90
CFLAGS += -arch x86_64
147
91
LDFLAGS += -arch x86_64
148
- endif
149
92
LDFLAGS += -dynamiclib -install_name /sw/lib/libst.$(MAJOR ) .$(DSO_SUFFIX ) -compatibility_version $(MAJOR ) -current_version $(VERSION )
150
93
OTHER_FLAGS = -Wall
151
- endif
152
-
153
- ifeq ($(OS ) , FREEBSD)
154
- SFLAGS = -fPIC
155
- LDFLAGS = -shared -soname=$(SONAME ) -lc
156
- OTHER_FLAGS = -Wall
157
- ifeq ($(shell test -f /usr/include/sys/event.h && echo yes) , yes)
158
94
DEFINES += -DMD_HAVE_KQUEUE
159
95
endif
160
- endif
161
-
162
- ifeq (HPUX, $(findstring HPUX, $(OS ) ) )
163
- ifeq ($(OS ) , HPUX_64)
164
- DEFINES = -DHPUX
165
- CFLAGS = -Ae +DD64 +Z
166
- else
167
- CFLAGS = -Ae +DAportable +Z
168
- endif
169
- RANLIB = true
170
- LDFLAGS = -b
171
- DSO_SUFFIX = sl
172
- endif
173
-
174
- ifeq (IRIX, $(findstring IRIX, $(OS ) ) )
175
- ifeq ($(OS ) , IRIX_64)
176
- DEFINES = -DIRIX
177
- ABIFLAG = -64
178
- else
179
- ABIFLAG = -n32
180
- endif
181
- RANLIB = true
182
- CFLAGS = $(ABIFLAG ) -mips3
183
- LDFLAGS = $(ABIFLAG ) -shared
184
- OTHER_FLAGS = -fullwarn
185
- endif
186
96
187
97
ifeq ($(OS ) , LINUX)
188
- EXTRA_OBJS = $(TARGETDIR ) /md .o
98
+ EXTRA_OBJS = $(TARGETDIR ) /md_linux .o
189
99
SFLAGS = -fPIC
190
100
LDFLAGS = -shared -soname=$(SONAME ) -lc
191
101
OTHER_FLAGS = -Wall
192
- ifeq ($(shell test -f /usr/include/sys/epoll.h && echo yes) , yes)
193
102
DEFINES += -DMD_HAVE_EPOLL
194
103
endif
195
- endif
196
-
197
- ifeq ($(OS ) , NETBSD)
198
- SFLAGS = -fPIC
199
- LDFLAGS = -shared -soname=$(SONAME ) -lc
200
- OTHER_FLAGS = -Wall
201
- endif
202
-
203
- ifeq ($(OS ) , OPENBSD)
204
- SFLAGS = -fPIC
205
- LDFLAGS = -shared -soname=$(SONAME ) -lc
206
- OTHER_FLAGS = -Wall
207
- ifeq ($(shell test -f /usr/include/sys/event.h && echo yes) , yes)
208
- DEFINES += -DMD_HAVE_KQUEUE
209
- endif
210
- endif
211
-
212
- ifeq ($(OS ) , OSF1)
213
- RANLIB = true
214
- LDFLAGS = -shared -all -expect_unresolved "*"
215
- endif
216
-
217
- ifeq (SOLARIS, $(findstring SOLARIS, $(OS ) ) )
218
- TARGETDIR = $(OS ) _$(shell uname -r | sed 's/^5/2/') _$(BUILD )
219
- CC = gcc
220
- LD = gcc
221
- RANLIB = true
222
- LDFLAGS = -G
223
- OTHER_FLAGS = -Wall
224
- ifeq ($(OS ) , SOLARIS_64)
225
- DEFINES = -DSOLARIS
226
- CFLAGS += -m64
227
- LDFLAGS += -m64
228
- endif
229
- endif
230
104
231
105
#
232
106
# End of platform section.
233
107
# #########################
234
108
235
109
236
110
ifeq ($(BUILD ) , OPT)
237
- OTHER_FLAGS += -O
111
+ OTHER_FLAGS += -O2
238
112
else
239
- OTHER_FLAGS += -g
113
+ OTHER_FLAGS += -g -O0
240
114
DEFINES += -DDEBUG
241
115
endif
242
116
@@ -311,28 +185,11 @@ OBJS += $(EXTRA_OBJS)
311
185
HEADER = $(TARGETDIR ) /st.h
312
186
SLIBRARY = $(TARGETDIR ) /libst.a
313
187
DLIBRARY = $(TARGETDIR ) /libst.$(DSO_SUFFIX ) .$(VERSION )
314
- EXAMPLES = examples
315
188
316
189
LINKNAME = libst.$(DSO_SUFFIX )
317
190
SONAME = libst.$(DSO_SUFFIX ) .$(MAJOR )
318
191
FULLNAME = libst.$(DSO_SUFFIX ) .$(VERSION )
319
192
320
- ifeq ($(OS ) , CYGWIN)
321
- SONAME = cygst.$(DSO_SUFFIX )
322
- SLIBRARY = $(TARGETDIR ) /libst.dll.a
323
- DLIBRARY = $(TARGETDIR ) /$(SONAME )
324
- LINKNAME =
325
- # examples directory does not compile under cygwin
326
- EXAMPLES =
327
- endif
328
-
329
- # for SRS
330
- # disable examples for ubuntu crossbuild failed.
331
- # @see https://github.com/winlinvip/simple-rtmp-server/issues/308
332
- ifeq ($(OS ) , LINUX)
333
- EXAMPLES =
334
- endif
335
-
336
193
ifeq ($(OS ) , DARWIN)
337
194
LINKNAME = libst.$(DSO_SUFFIX )
338
195
SONAME = libst.$(MAJOR ) .$(DSO_SUFFIX )
@@ -348,7 +205,7 @@ endif
348
205
ifeq ($(OS ) ,)
349
206
ST_ALL = unknown
350
207
else
351
- ST_ALL = $(TARGETDIR ) $(LIBRARIES ) $(HEADER ) $(EXAMPLES ) $( DESC )
208
+ ST_ALL = $(TARGETDIR ) $(LIBRARIES ) $(HEADER ) $(DESC )
352
209
endif
353
210
354
211
all : $(ST_ALL )
@@ -386,7 +243,7 @@ $(HEADER): public.h
386
243
rm -f $@
387
244
cp public.h $@
388
245
389
- $(TARGETDIR ) /md .o : md .S
246
+ $(TARGETDIR ) /md_linux .o : md_linux .S
390
247
$(CC ) $(CFLAGS ) -c $< -o $@
391
248
392
249
$(TARGETDIR ) /md_darwin.o : md_darwin.S
@@ -395,10 +252,6 @@ $(TARGETDIR)/md_darwin.o: md_darwin.S
395
252
$(TARGETDIR ) /% .o : % .c common.h md.h
396
253
$(CC ) $(CFLAGS ) -c $< -o $@
397
254
398
- examples : $(SLIBRARY )
399
- @echo Making $@
400
- @cd $@ ; $(MAKE ) CC=" $( CC) " CFLAGS=" $( CFLAGS) " OS=" $( OS) " TARGETDIR=" $( TARGETDIR) "
401
-
402
255
clean :
403
256
rm -rf * _OPT * _DBG obj st.pc
404
257
@@ -418,80 +271,15 @@ endif
418
271
# #########################
419
272
# Target rules:
420
273
421
- default-debug :
422
- . ./osguess.sh; $(MAKE ) OS=" $$ OS" BUILD=" DBG"
423
- default default-optimized :
424
- . ./osguess.sh; $(MAKE ) OS=" $$ OS" BUILD=" OPT"
425
-
426
- aix-debug :
427
- $(MAKE ) OS=" AIX" BUILD=" DBG"
428
- aix-optimized :
429
- $(MAKE ) OS=" AIX" BUILD=" OPT"
430
-
431
- cygwin-debug :
432
- $(MAKE ) OS=" CYGWIN" BUILD=" DBG"
433
- cygwin-optimized :
434
- $(MAKE ) OS=" CYGWIN" BUILD=" OPT"
435
-
436
274
darwin-debug :
437
275
$(MAKE ) OS=" DARWIN" BUILD=" DBG"
438
276
darwin-optimized :
439
277
$(MAKE ) OS=" DARWIN" BUILD=" OPT"
440
278
441
- freebsd-debug :
442
- $(MAKE ) OS=" FREEBSD" BUILD=" DBG"
443
- freebsd-optimized :
444
- $(MAKE ) OS=" FREEBSD" BUILD=" OPT"
445
-
446
- hpux-debug :
447
- $(MAKE ) OS=" HPUX" BUILD=" DBG"
448
- hpux-optimized :
449
- $(MAKE ) OS=" HPUX" BUILD=" OPT"
450
- hpux-64-debug :
451
- $(MAKE ) OS=" HPUX_64" BUILD=" DBG"
452
- hpux-64-optimized :
453
- $(MAKE ) OS=" HPUX_64" BUILD=" OPT"
454
-
455
- irix-n32-debug :
456
- $(MAKE ) OS=" IRIX" BUILD=" DBG"
457
- irix-n32-optimized :
458
- $(MAKE ) OS=" IRIX" BUILD=" OPT"
459
- irix-64-debug :
460
- $(MAKE ) OS=" IRIX_64" BUILD=" DBG"
461
- irix-64-optimized :
462
- $(MAKE ) OS=" IRIX_64" BUILD=" OPT"
463
-
464
279
linux-debug :
465
280
$(MAKE ) OS=" LINUX" BUILD=" DBG"
466
281
linux-optimized :
467
282
$(MAKE ) OS=" LINUX" BUILD=" OPT"
468
- # compatibility
469
- linux-ia64-debug : linux-debug
470
- linux-ia64-optimized : linux-optimized
471
-
472
- netbsd-debug :
473
- $(MAKE ) OS=" NETBSD" BUILD=" DBG"
474
- netbsd-optimized :
475
- $(MAKE ) OS=" NETBSD" BUILD=" OPT"
476
-
477
- openbsd-debug :
478
- $(MAKE ) OS=" OPENBSD" BUILD=" DBG"
479
- openbsd-optimized :
480
- $(MAKE ) OS=" OPENBSD" BUILD=" OPT"
481
-
482
- osf1-debug :
483
- $(MAKE ) OS=" OSF1" BUILD=" DBG"
484
- osf1-optimized :
485
- $(MAKE ) OS=" OSF1" BUILD=" OPT"
486
-
487
- solaris-debug :
488
- $(MAKE ) OS=" SOLARIS" BUILD=" DBG"
489
- solaris-optimized :
490
- $(MAKE ) OS=" SOLARIS" BUILD=" OPT"
491
- solaris-64-debug :
492
- $(MAKE ) OS=" SOLARIS_64" BUILD=" DBG"
493
- solaris-64-optimized :
494
- $(MAKE ) OS=" SOLARIS_64" BUILD=" OPT"
495
283
496
284
darwin-debug-utest :
497
285
@echo " Build utest for state-threads"
0 commit comments