Add Makefiles which were forgotten.
authorRyan Dahl <ry@tinyclouds.org>
Sat, 3 Oct 2009 20:43:54 +0000 (22:43 +0200)
committerRyan Dahl <ry@tinyclouds.org>
Sat, 3 Oct 2009 20:48:44 +0000 (22:48 +0200)
deps/coupling/Makefile [new file with mode: 0644]
deps/evcom/Makefile [new file with mode: 0644]
deps/http_parser/Makefile [new file with mode: 0644]

diff --git a/deps/coupling/Makefile b/deps/coupling/Makefile
new file mode 100644 (file)
index 0000000..cbec77a
--- /dev/null
@@ -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 (file)
index 0000000..ffb6b64
--- /dev/null
@@ -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 (file)
index 0000000..afe7229
--- /dev/null
@@ -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