diff --git a/examples/Makefile b/examples/Makefile new file mode 100644 index 0000000000..27a2af2ada --- /dev/null +++ b/examples/Makefile @@ -0,0 +1,19 @@ +DIRS=broadcast_server_tls chat_client chat_server echo_client echo_server echo_server_tls fuzzing_client fuzzing_server_tls stress_client wsperf +# Broken: concurrent_server + +.PHONY: +all: build + +.PHONY: +build: $(DIRS:%=%.build) + +.PHONY: +clean: $(DIRS:%=%.clean) + +.PHONY: +%.build: + $(MAKE) -C $(@:%.build=%) + +.PHONY: +%.clean: + $(MAKE) -C $(@:%.clean=%) clean diff --git a/examples/broadcast_server_tls/Makefile b/examples/broadcast_server_tls/Makefile index 5dc913f159..8ab28c4dc5 100644 --- a/examples/broadcast_server_tls/Makefile +++ b/examples/broadcast_server_tls/Makefile @@ -1,17 +1,8 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include +BOOST_LIBS=boost_system boost_date_time boost_regex -CFLAGS = -O2 -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_date_time -lcrypto -lssl -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a -lcrypto -lssl -lpthread -endif +LDFLAGS := $(LDFLAGS) -lcrypto -lssl -lpthread broadcast_server: broadcast_server_tls.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/chat_client/Makefile b/examples/chat_client/Makefile index 19d4151bca..6cd68f70b6 100644 --- a/examples/chat_client/Makefile +++ b/examples/chat_client/Makefile @@ -1,14 +1,6 @@ -CFLAGS = -O2 -LDFLAGS = +BOOST_LIBS=boost_system boost_thread boost_regex boost_random -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_thread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_thread -lboost_date_time -lboost_regex -lboost_random ../../libwebsocketpp.a -endif +include ../common.mk chat_client: chat_client.o chat_client_handler.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/chat_server/Makefile b/examples/chat_server/Makefile index 5062d989a6..409b8ead24 100644 --- a/examples/chat_server/Makefile +++ b/examples/chat_server/Makefile @@ -1,18 +1,8 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include -CPP11 ?= +BOOST_LIBS=boost_system boost_date_time boost_program_options boost_thread boost_regex -CFLAGS = -Wall -O2 $(CPP11) -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_date_time -lboost_program_options -lboost_thread -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a -lpthread -endif +LDFLAGS := $(LDFLAGS) -lpthread chat_server: chat_server.o chat.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/common.mk b/examples/common.mk new file mode 100644 index 0000000000..4056aa9441 --- /dev/null +++ b/examples/common.mk @@ -0,0 +1,19 @@ +BOOST_PREFIX ?= /usr/local +BOOST_LIB_PATH ?= $(BOOST_PREFIX)/lib +BOOST_INCLUDE_PATH ?= $(BOOST_PREFIX)/include + +CPP11 ?= + +CFLAGS = -Wall -O2 $(CPP11) -I$(BOOST_INCLUDE_PATH) +LDFLAGS = -L$(BOOST_LIB_PATH) + +CXX ?= c++ +SHARED ?= 1 + +ifeq ($(SHARED), 1) + LDFLAGS := $(LDFLAGS) -lwebsocketpp + LDFLAGS := $(LDFLAGS) $(BOOST_LIBS:%=-l%) +else + LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a + LDFLAGS := $(LDFLAGS) $(BOOST_LIBS:%=-l$(BOOST_LIB_PATH)/lib%.a) +endif diff --git a/examples/concurrent_server/Makefile b/examples/concurrent_server/Makefile index abccf29bd7..b8fda447bd 100644 --- a/examples/concurrent_server/Makefile +++ b/examples/concurrent_server/Makefile @@ -1,18 +1,8 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include -CPP11 ?= +BOOST_LIBS=boost_system boost_date_time boost_program_options boost_thread -CFLAGS = -O2 $(CPP11) -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_date_time -lboost_program_options -lboost_thread -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a -lpthread -endif +LDFLAGS := $(LDFLAGS) -lpthread concurrent_server: concurrent_server.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/echo_client/Makefile b/examples/echo_client/Makefile index ec17a3dab5..05a52a1f30 100644 --- a/examples/echo_client/Makefile +++ b/examples/echo_client/Makefile @@ -1,14 +1,8 @@ -CFLAGS = -O2 -LDFLAGS = +BOOST_LIBS=boost_system boost_date_time boost_program_options boost_thread boost_regex boost_random -CXX ?= c++ -SHARED ?= "1" +include ../common.mk -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_thread -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a -lboost_system -lboost_thread -lboost_date_time -lboost_regex -lboost_random -lboost_program_options -lpthread -endif +LDFLAGS := $(LDFLAGS) -lpthread echo_client: echo_client.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/echo_server/Makefile b/examples/echo_server/Makefile index 9c396693eb..79fe5f5afd 100644 --- a/examples/echo_server/Makefile +++ b/examples/echo_server/Makefile @@ -1,18 +1,8 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include -CPP11 ?= +BOOST_LIBS=boost_system boost_date_time boost_program_options boost_thread boost_regex -CFLAGS = -Wall -O2 $(CPP11) -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_date_time -lboost_program_options -lboost_thread -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a -lpthread -endif +LDFLAGS := $(LDFLAGS) -lpthread echo_server: echo_server.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/echo_server_tls/Makefile b/examples/echo_server_tls/Makefile index c239aee506..73221572e1 100644 --- a/examples/echo_server_tls/Makefile +++ b/examples/echo_server_tls/Makefile @@ -1,17 +1,8 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include +BOOST_LIBS=boost_system boost_date_time boost_thread boost_regex -CFLAGS = -O2 -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_date_time -lboost_thread -lcrypto -lssl -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a -lcrypto -lssl -lpthread -endif +LDFLAGS := $(LDFLAGS) -lcrypto -lssl -lpthread echo_server_tls: echo_server_tls.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/fuzzing_client/Makefile b/examples/fuzzing_client/Makefile index 2d12808bd9..f62538d8dd 100644 --- a/examples/fuzzing_client/Makefile +++ b/examples/fuzzing_client/Makefile @@ -1,19 +1,6 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include -WEBSOCKETPP_PATH ?= ../../ -CPP11 ?= +BOOST_LIBS=boost_system boost_date_time boost_thread boost_regex boost_random -CFLAGS = -Wall -O2 $(CPP11) -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) - -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lwebsocketpp -lpthread -lboost_system -lboost_thread -lboost_random -lboost_regex - lboost_date_time -else - LDFLAGS := $(LDFLAGS) $(WEBSOCKETPP_PATH)/libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a $(BOOST_LIB_PATH)/libboost_random.a -lpthread -endif +include ../common.mk fuzzing_client: fuzzing_client.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/fuzzing_server_tls/Makefile b/examples/fuzzing_server_tls/Makefile index 7b886de0fa..ec9e841446 100644 --- a/examples/fuzzing_server_tls/Makefile +++ b/examples/fuzzing_server_tls/Makefile @@ -1,17 +1,8 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include +BOOST_LIBS=boost_system boost_date_time boost_regex -CFLAGS = -O2 -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_date_time -lcrypto -lssl -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a -lcrypto -lssl -lpthread -endif +LDFLAGS := $(LDFLAGS) -lcrypto -lssl -lpthread fuzzing_server: fuzzing_server_tls.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/stress_client/Makefile b/examples/stress_client/Makefile index be78b068fa..79731a1940 100644 --- a/examples/stress_client/Makefile +++ b/examples/stress_client/Makefile @@ -1,17 +1,8 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include +BOOST_LIBS=boost_system boost_date_time boost_thread boost_random boost_regex -CFLAGS = -O2 -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lboost_system -lboost_thread -lboost_random -lboost_regex -lboost_date_time -lcrypto -lssl -lpthread -lwebsocketpp -else - LDFLAGS := $(LDFLAGS) ../../libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a $(BOOST_LIB_PATH)/libboost_random.a -lcrypto -lssl -lpthread -endif +LDFLAGS := $(LDFLAGS) -lcrypto -lssl -lpthread stress_client: stress_client.o $(CXX) $(CFLAGS) $^ -o $@ $(LDFLAGS) diff --git a/examples/wsperf/Makefile b/examples/wsperf/Makefile index 0dcc56720e..05429bb03e 100644 --- a/examples/wsperf/Makefile +++ b/examples/wsperf/Makefile @@ -1,26 +1,14 @@ -BOOST_LIB_PATH ?= /usr/local/lib -BOOST_INCLUDE_PATH ?= /usr/local/include -WEBSOCKETPP_PATH ?= ../../ -CPP11 ?= +BOOST_LIBS=boost_system boost_date_time boost_regex boost_thread boost_random boost_chrono boost_program_options -CFLAGS = -Wall -O3 $(CPP11) -I$(BOOST_INCLUDE_PATH) -LDFLAGS = -L$(BOOST_LIB_PATH) +include ../common.mk -CXX ?= c++ -SHARED ?= "1" +LDFLAGS := $(LDFLAGS) -lcrypto -lssl -lpthread +CFLAGS := -Wall -O3 $(CFLAGS) OS=$(shell uname) -ifeq ($(OS), Darwin) - darwinlibs = -else - darwinlibs = -lrt -lpthread -endif - -ifeq ($(SHARED), 1) - LDFLAGS := $(LDFLAGS) -lwebsocketpp $(darwinlibs) -lboost_system -lboost_thread -lboost_random -lboost_regex -lboost_date_time -boost_chrono -lboost_program_options -else - LDFLAGS := $(LDFLAGS) $(WEBSOCKETPP_PATH)/libwebsocketpp.a $(BOOST_LIB_PATH)/libboost_system.a $(BOOST_LIB_PATH)/libboost_date_time.a $(BOOST_LIB_PATH)/libboost_regex.a $(BOOST_LIB_PATH)/libboost_thread.a $(BOOST_LIB_PATH)/libboost_random.a $(BOOST_LIB_PATH)/libboost_chrono.a $(BOOST_LIB_PATH)/libboost_program_options.a $(darwinlibs) +ifneq ($(OS), Darwin) + LDFLAGS := $(LDFLAGS) -lrt -lpthread endif wsperf: wsperf.o request.o case.o generic.o wscmd.o