diff options
Diffstat (limited to 'docs/code')
-rw-r--r-- | docs/code/.gitignore | 3 | ||||
-rw-r--r-- | docs/code/Makefile | 82 | ||||
-rw-r--r-- | docs/code/default-loop/main.c | 12 |
3 files changed, 97 insertions, 0 deletions
diff --git a/docs/code/.gitignore b/docs/code/.gitignore new file mode 100644 index 00000000..c46ecde4 --- /dev/null +++ b/docs/code/.gitignore @@ -0,0 +1,3 @@ +*/* +!*.c +!*.h diff --git a/docs/code/Makefile b/docs/code/Makefile new file mode 100644 index 00000000..0526e8c2 --- /dev/null +++ b/docs/code/Makefile @@ -0,0 +1,82 @@ +examples=\ + helloworld\ + default-loop\ + idle-basic\ + uvcat\ + uvtee\ + onchange\ + thread-create\ + queue-work\ + progress\ + tcp-echo-server\ + dns\ + udp-dhcp\ + idle-compute\ + ref-timer\ + spawn\ + detach\ + proc-streams\ + cgi\ + pipe-echo-server\ + multi-echo-server\ + tty\ + tty-gravity\ + interfaces\ + locks \ + signal \ + uvstop \ + queue-cancel + +UV_PATH=$(shell pwd)/../.. +UV_LIB=$(UV_PATH)/.libs/libuv.a +CFLAGS=-g -Wall -I$(UV_PATH)/include +LIBS= + +uname_S=$(shell uname -s) + +ifeq (Darwin, $(uname_S)) +CFLAGS+=-framework CoreServices +SHARED_LIB_FLAGS=-bundle -undefined dynamic_lookup -o plugin/libhello.dylib +endif + +ifeq (Linux, $(uname_S)) +LIBS=-lrt -ldl -lm -pthread -lcurl +SHARED_LIB_FLAGS=-shared -Wl,-soname,libhello.so -o plugin/libhello.so +PLUGIN_EXE_FLAGS=-Wl,-export-dynamic +endif + + +all: $(examples) plugin/plugin proc-streams/test cgi/tick multi-echo-server/worker uvwget/uvwget + +$(examples): % : %/main.c + gcc $(CFLAGS) -o $@/$@ $< $(UV_LIB) $(LIBS) + +plugin: plugin/plugin +plugin/plugin: plugin/*.c + gcc $(CFLAGS) $(PLUGIN_EXE_FLAGS) -o plugin/plugin plugin/main.c $(UV_LIB) $(LIBS) + gcc -g -Wall -c -fPIC -o plugin/hello.o plugin/hello.c + gcc $(SHARED_LIB_FLAGS) plugin/hello.o + +proc-streams/test: proc-streams/test.c + gcc -g -Wall -o proc-streams/test proc-streams/test.c + +cgi/tick: cgi/tick.c + gcc -g -Wall -o cgi/tick cgi/tick.c + +multi-echo-server/worker: multi-echo-server/worker.c + gcc $(CFLAGS) -o multi-echo-server/worker multi-echo-server/worker.c $(UV_LIB) $(LIBS) + +uvwget: uvwget/uvwget +uvwget/uvwget: uvwget/main.c + gcc $(CFLAGS) `curl-config --cflags --libs` -o uvwget/uvwget uvwget/main.c $(UV_LIB) $(LIBS) + +clean: + for dir in $(examples); do cd $$dir; rm -f $$dir; rm -rf $$dir.dSYM; cd ..; done + rm -rf plugin/*.o plugin/libhello.* + rm -rf plugin/plugin plugin/plugin.dSYM + rm -rf proc-streams/test proc-streams/test.dSYM + rm -rf cgi/tick cgi/tick.dSYM + rm -rf multi-echo-server/worker multi-echo-server/worker.dSYM + rm -rf uvwget/uvwget uvwget/uvwget.dSYM + +.PHONY: clean all $(examples) plugin uvwget diff --git a/docs/code/default-loop/main.c b/docs/code/default-loop/main.c new file mode 100644 index 00000000..e00a4d2b --- /dev/null +++ b/docs/code/default-loop/main.c @@ -0,0 +1,12 @@ +#include <stdio.h> +#include <uv.h> + +int main() { + uv_loop_t *loop = uv_default_loop(); + + printf("Default loop.\n"); + uv_run(loop, UV_RUN_DEFAULT); + + uv_loop_close(loop); + return 0; +} |