ant-http/Makefile
2016-03-04 11:44:13 +01:00

50 lines
1.2 KiB
Makefile

CC=gcc
EXT=dylib
SERVER=plugin_manager.o plugins/ini.o http_server.o plugins/dictionary.o plugins/utils.o
SERVERLIB=-lpthread -ldl
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
BUILDIRD=/root/antd
PF_FLAG=-D_GNU_SOURCE
endif
ifeq ($(UNAME_S),Darwin)
BUILDIRD=./build
PF_FLAG=
endif
CFLAGS=-W -Wall -g -std=c99 -D DEBUG -D USE_DB $(PF_FLAG)
#-lsocket
PLUGINS= dummy.$(EXT) fileman.$(EXT) pluginsman.$(EXT) wterm.$(EXT) nodedaemon.$(EXT)
PLUGINSDEP = plugins/ini.o plugins/plugin.o plugins/dbhelper.o plugins/dictionary.o plugins/utils.o plugins/list.o
PLUGINLIBS = -lsqlite3
main: httpd plugins
httpd:$(SERVER)
$(CC) $(CFLAGS) $(SERVERLIB) $(SERVER) -o $(BUILDIRD)/httpd httpd.c
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
plugins: $(PLUGINS)
%.$(EXT): $(PLUGINSDEP)
for file in $(wildcard plugins/$(basename $@)/*.c) ; do\
$(CC) $(CFLAGS) -c $$file -o $$file.o; \
done
$(CC) $(CFLAGS) $(PLUGINLIBS) -shared -o $(BUILDIRD)/plugins/$(basename $@).$(EXT) \
$(PLUGINSDEP) plugins/$(basename $@)/*.c.o
clean: sclean pclean
sclean:
rm -f *.o build/httpd
pclean:
rm -rf $(BUILDIRD)/plugins/* plugins/*.o
-for file in plugins/* ;do \
if [ -d "$$file" ]; then \
rm "$$file"/*.o; \
fi \
done
.PRECIOUS: %.o