forked from cory/tildefriends
83 lines
2.0 KiB
Makefile
83 lines
2.0 KiB
Makefile
|
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
|