1
0
This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
TP-Link_Archer-XR500v/BBA1.5_platform/apps/public/upnp_libs/Makefile
2024-07-22 01:58:46 -03:00

103 lines
3.3 KiB
Makefile

################################################################################
#
# Makefile Settings
#
################################################################################
UPNP_DEBUG ?= n
ifeq ($(strip $(RM)),)
RM = rm
endif
UPNP_INC = -I./inc
UPNP_SRC = ./src
UPNP_LIB = ./libs
LDFLAGS += -lpthread -lrt
CFLAGS += $(UPNP_INC) -Wall -fstrength-reduce -fomit-frame-pointer -pthread -D_GNU_SOURCE -fPIC #-D_XOPEN_SOURCE=500
ifeq ($(UPNP_DEBUG), y)
CFLAGS += -DDEBUG
endif
LIBUPNP_SRCS = $(UPNP_SRC)/upnpapi.c $(UPNP_SRC)/upnptools.c $(UPNP_SRC)/gena_callback2.c\
$(UPNP_SRC)/gena_device.c $(UPNP_SRC)/miniserver.c\
$(UPNP_SRC)/sock.c $(UPNP_SRC)/httpparser.c $(UPNP_SRC)/httpreadwrite.c $(UPNP_SRC)/parsetools.c\
$(UPNP_SRC)/statcodes.c $(UPNP_SRC)/webserver.c $(UPNP_SRC)/uri.c $(UPNP_SRC)/service_table.c\
$(UPNP_SRC)/membuffer.c $(UPNP_SRC)/strintmap.c $(UPNP_SRC)/upnp_timeout.c $(UPNP_SRC)/util.c\
$(UPNP_SRC)/soap_common.c $(UPNP_SRC)/soap_device.c\
$(UPNP_SRC)/ssdp_device.c $(UPNP_SRC)/ssdp_server.c $(UPNP_SRC)/urlconfig.c $(UPNP_SRC)/md5.c\
$(UPNP_SRC)/sysdep.c $(UPNP_SRC)/uuid.c
ifeq ($(UPNP_DEBUG), y)
LIBUPNP_SRCS += $(UPNP_SRC)/upnpdebug.c
endif
LIBUPNP_OBJS = $(LIBUPNP_SRCS:.c=.o)
LIBUPNP_FOBJ = libupnp.so
LIBIXML_SRCS = $(UPNP_SRC)/attr.c $(UPNP_SRC)/document.c $(UPNP_SRC)/element.c $(UPNP_SRC)/ixml.c $(UPNP_SRC)/ixmlmembuf.c\
$(UPNP_SRC)/ixmlparser.c $(UPNP_SRC)/namedNodeMap.c $(UPNP_SRC)/node.c $(UPNP_SRC)/nodeList.c
ifeq ($(UPNP_DEBUG), y)
LIBIXML_SRCS += $(UPNP_SRC)/ixmldebug.c
endif
LIBIXML_OBJS = $(LIBIXML_SRCS:.c=.o)
LIBIXML_FOBJ = libixml.so
LIBTHREADUTIL_SRCS = $(UPNP_SRC)/FreeList.c $(UPNP_SRC)/LinkedList.c $(UPNP_SRC)/ThreadPool.c $(UPNP_SRC)/TimerThread.c
LIBTHREADUTIL_OBJS = $(LIBTHREADUTIL_SRCS:.c=.o)
LIBTHREADUTIL_FOBJ = libthreadutil.so
################################################################################
#
# Makefile Build
#
################################################################################
ALL:$(LIBIXML_FOBJ) $(LIBTHREADUTIL_FOBJ) $(LIBUPNP_FOBJ)
$(LIBUPNP_FOBJ):$(LIBUPNP_OBJS)
$(CC) $(CFLAGS) -shared -fPIC $(LIBUPNP_OBJS) -o $@
$(STRIP) $@
@cp $@ $(UPNP_LIB)
$(LIBIXML_FOBJ):$(LIBIXML_OBJS)
$(CC) $(CFLAGS) -shared -fPIC $(LIBIXML_OBJS) -o $@
$(STRIP) $@
@cp $@ $(UPNP_LIB)
$(LIBTHREADUTIL_FOBJ):$(LIBTHREADUTIL_OBJS)
$(CC) $(CFLAGS) -shared -fPIC $(LIBTHREADUTIL_OBJS) -o $@
$(STRIP) $@
@cp $@ $(UPNP_LIB)
ifeq ($(FULL_COMPILE), y)
sinclude $(LIBUPNP_SRCS:.c=.d)
sinclude $(LIBIXML_SRCS:.c=.d)
sinclude $(LIBTHREADUTIL_SRCS:.c=.d)
endif
%.o:%.c
$(CC) $(CFLAGS) -c -o $@ $<
%.d:%.c
@$(CC) -MM $(CFLAGS) $< > $@.$$$$; \
sed 's,\($*\)\.o[:]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
################################################################################
#
# Makefile Clear, copy
#
################################################################################
.PHONY:clean
clean:
$(RM) $(LIBUPNP_FOBJ) $(LIBIXML_FOBJ) $(LIBTHREADUTIL_FOBJ)\
$(LIBUPNP_OBJS) $(LIBIXML_OBJS) $(LIBTHREADUTIL_OBJS)\
$(LIBUPNP_SRCS:.c=.d) $(LIBIXML_SRCS:.c=.d) $(LIBTHREADUTIL_SRCS:.c=.d) $(UPNP_LIB)/*
################################################################################
#
# Makefile others
#
################################################################################