From 13793aed2022c6884b7b8b4dac6c649c28f2c070 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Sat, 3 Oct 2009 22:43:54 +0200 Subject: [PATCH] Add Makefiles which were forgotten. --- deps/coupling/Makefile | 33 +++++++++++++++++++++ deps/evcom/Makefile | 75 +++++++++++++++++++++++++++++++++++++++++++++++ deps/http_parser/Makefile | 27 +++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 deps/coupling/Makefile create mode 100644 deps/evcom/Makefile create mode 100644 deps/http_parser/Makefile diff --git a/deps/coupling/Makefile b/deps/coupling/Makefile new file mode 100644 index 0000000..cbec77a --- /dev/null +++ b/deps/coupling/Makefile @@ -0,0 +1,33 @@ +# CFLAGS and LDFLAGS are for the users to override from the command line. +CFLAGS = -g -I. -Wall -Werror -Wextra #-DNDEBUG=1 +LDFLAGS = -pthread + +CC = gcc +AR = ar +RANLIB = ranlib + +DEP = coupling.h +SRC = coupling.c +OBJ = ${SRC:.c=.o} + +NAME=libcoupling +OUTPUT_A=$(NAME).a + +all: $(OUTPUT_A) + +$(OUTPUT_A): $(OBJ) + $(AR) cru $(OUTPUT_A) $(OBJ) + $(RANLIB) $(OUTPUT_A) + +.c.o: + $(CC) -c ${CFLAGS} $< + +${OBJ}: ${DEP} + +test: test.c $(OUTPUT_A) + $(CC) $(LDFLAGS) $(CFLAGS) -o $@ test.c $(OUTPUT_A) + +clean: + rm -f $(OUTPUT_A) *.o test + +.PHONY: all clean diff --git a/deps/evcom/Makefile b/deps/evcom/Makefile new file mode 100644 index 0000000..ffb6b64 --- /dev/null +++ b/deps/evcom/Makefile @@ -0,0 +1,75 @@ +# Define EVDIR=/foo/bar if your libev header and library files are in +# /foo/bar/include and /foo/bar/lib directories. +EVDIR=$(HOME)/local/libev + +# Define GNUTLSDIR=/foo/bar if your gnutls header and library files are in +# /foo/bar/include and /foo/bar/lib directories. +# +# Comment out the following line to disable TLS +GNUTLSDIR=/usr + +# CFLAGS and LDFLAGS are for the users to override from the command line. +CFLAGS = -g -I. -Wall -Werror -Wextra #-DNDEBUG=1 +LDFLAGS = + +CC = gcc +AR = ar +RANLIB = ranlib + +ifdef EVDIR + CFLAGS += -I$(EVDIR)/include + LDFLAGS += -L$(EVDIR)/lib +endif + +LDFLAGS += -lev + +ifdef GNUTLSDIR + CFLAGS += -I$(GNUTLSDIR)/include -DEVCOM_HAVE_GNUTLS=1 + LDFLAGS += -L$(GNUTLSDIR)/lib + LDFLAGS += -lgnutls +endif + +DEP = evcom.h +SRC = evcom.c +OBJ = ${SRC:.c=.o} + +NAME=libevcom +OUTPUT_A=$(NAME).a + +all: $(OUTPUT_A) test/test test/echo + +$(OUTPUT_A): $(OBJ) + $(AR) cru $(OUTPUT_A) $(OBJ) + $(RANLIB) $(OUTPUT_A) + +.c.o: + $(CC) -c ${CFLAGS} $< + +${OBJ}: ${DEP} + +FAIL=ruby -e 'puts "\033[1;31m FAIL\033[m"' +PASS=ruby -e 'puts "\033[1;32m PASS\033[m"' + +test: test/test test/echo test/timeout.rb + @echo test.c + @test/test > /dev/null && $(PASS) || $(FAIL) + @echo timeout.rb + @test/timeout.rb + +test/test: test/test.c $(OUTPUT_A) + $(CC) $(LDFLAGS) $(CFLAGS) -o $@ test/test.c $(OUTPUT_A) + +test/echo: test/echo.c $(OUTPUT_A) + $(CC) $(LDFLAGS) $(CFLAGS) -o $@ test/echo.c $(OUTPUT_A) + +send_states.png: send_states.dot + dot -Tpng -o send_states.png send_states.dot + +recv_states.png: recv_states.dot + dot -Tpng -o recv_states.png recv_states.dot + +clean: + rm -rf test/test test/echo + rm -f $(OUTPUT_A) *.o + +.PHONY: all clean test diff --git a/deps/http_parser/Makefile b/deps/http_parser/Makefile new file mode 100644 index 0000000..afe7229 --- /dev/null +++ b/deps/http_parser/Makefile @@ -0,0 +1,27 @@ +#OPT=-O0 -g -Wall -Wextra -Werror +OPT=-O2 + +test: http_parser.o test.c + gcc $(OPT) http_parser.o test.c -o $@ + +http_parser.o: http_parser.c http_parser.h Makefile + gcc $(OPT) -c http_parser.c + +http_parser.c: http_parser.rl Makefile + ragel -s -G2 http_parser.rl -o $@ + +tags: http_parser.rl http_parser.h test.c + ctags $^ + +clean: + rm -f *.o http_parser.c test http_parser.tar + +package: http_parser.c + @rm -rf /tmp/http_parser && mkdir /tmp/http_parser && \ + cp LICENSE README.md Makefile http_parser.c http_parser.rl \ + http_parser.h test.c /tmp/http_parser && \ + cd /tmp && \ + tar -cf http_parser.tar http_parser/ + @echo /tmp/http_parser.tar + +.PHONY: clean package -- 2.7.4