70 lines
1.8 KiB
Makefile
70 lines
1.8 KiB
Makefile
TOPDIR:=.
|
|
TGT:=../bin/restproxy
|
|
|
|
DIR=$(TOPDIR)
|
|
SRCS=$(foreach dir, $(DIR), $(wildcard $(dir)/*.c))
|
|
OBJS:=$(patsubst %.c,%.o,$(SRCS))
|
|
|
|
DIR_LIBEVENT = ./third-lib/libevent/include/
|
|
DIR_JSON = ./third-lib/libmjson/src/
|
|
DIR_CURL = ./third-lib/libcurl/include/curl/
|
|
|
|
INCDIR = $(foreach dir, $(DIR), -I $(dir)/ )
|
|
INCDIR += -I $(DIR_LIBEVENT)
|
|
INCDIR += -I $(DIR_JSON)
|
|
INCDIR += -I $(DIR_CURL)
|
|
|
|
LIBS = ./dba/lib/libdba.a ./smcli_client/lib/libclient.a
|
|
LIBS += ./pstn_cli/lib/libpstncli.a ./tcp/lib/libtcp.a
|
|
LIBS += /usr/lib/x86_64-linux-gnu/libidn.a -I/usr/include/mysql -L/usr/lib64/mysql -lmysqlclient
|
|
LIBS += ./third-lib/libcurl/lib/.libs/libcurl.a -lrt -lcrypto -lssl -lpthread
|
|
LIBS += ./third-lib/libevent/.libs/libevent.a ./third-lib/libevent/.libs/libevent_pthreads.a
|
|
LIBS += ./third-lib/libmjson/src/.libs/libmjson.a -L/usr/local/lib -lglib-2.0 -lz -lidn2
|
|
|
|
CFLAGS = -Wall -g -DX86_64 -DTEST_RESTPROXY $(LIBS)
|
|
|
|
CONFIGURE = ./configure
|
|
|
|
CC = gcc
|
|
|
|
$(TGT):$(OBJS) lib_all 3rdlib_all
|
|
$(CC) -o $(TGT) $(CFLAGS) $(SRCS) $(INCDIR) $(LIBS)
|
|
chmod a+x $(TGT)
|
|
|
|
$(OBJS):%.o:%.c
|
|
$(CC) $(CFLAGS) -c -o $@ $< $(INCDIR)
|
|
|
|
all: $(TGT)
|
|
|
|
clean_all: clean lib_clean 3rdlib_clean
|
|
|
|
lib_all:
|
|
$(MAKE) -C ./smcli_client
|
|
$(MAKE) -C ./pstn_cli
|
|
$(MAKE) -C ./tcp
|
|
$(MAKE) -C ./dba
|
|
|
|
3rdlib_config:
|
|
cd ./third-lib/libevent && $(CONFIGURE)
|
|
cd ./third-lib/libcurl && $(CONFIGURE)
|
|
cd ./third-lib/libmjson && $(CONFIGURE)
|
|
|
|
3rdlib_all:
|
|
$(MAKE) -C ./third-lib/libevent
|
|
$(MAKE) -C ./third-lib/libcurl
|
|
$(MAKE) -C ./third-lib/libmjson
|
|
|
|
lib_clean:
|
|
$(MAKE) -C ./smcli_client clean
|
|
$(MAKE) -C ./pstn_cli clean
|
|
$(MAKE) -C ./tcp clean
|
|
$(MAKE) -C ./dba clean
|
|
|
|
3rdlib_clean:
|
|
$(MAKE) -C ./third-lib/libevent clean
|
|
$(MAKE) -C ./third-lib/libcurl clean
|
|
$(MAKE) -C ./third-lib/libmjson clean
|
|
|
|
clean:
|
|
rm -rf $(OBJS) $(TGT)
|