Implementation of connectivity abstraction feature Release v0.5
[platform/upstream/iotivity.git] / resource / csdk / connectivity / build / linux / Makefile
index 7fb550a..c23f62c 100644 (file)
@@ -21,7 +21,7 @@
 # override with `make BUILD=debug`
 # default to release build
 # default to build for linux
-BUILD = release
+BUILD = debug
 PLATFORM = linux
 TRANSPORT = ALL
 OBJ_DIR = ./$(BUILD)
@@ -34,43 +34,47 @@ COMMON_MAKE = common.mk
 include $(COMMON_MAKE)
 
 #Modify below values to enable/disable the Adapter
-#Suffix "NO_" to disable given adapter  
+#Suffix "NO_" to disable given adapter
 EDR = NO_EDR_ADAPTER
 WIFI = WIFI_ADAPTER
 LE = NO_LE_ADAPTER
-ETHERNET = NO_ETHERNET_ADAPTER
+ETHERNET = ETHERNET_ADAPTER
 
 #Add Pre processor definitions
 DEFINE_FLAG = -D$(EDR) -D$(LE) -D$(WIFI) -D$(ETHERNET)
-
+#Add For memory checking
+#DEBUG_FLAG = -DENABLE_MALLOC_DEBUG
 #Add Debug flags here
-DEBUG_FLAG = -DTB_LOG
+DEBUG_FLAG += -DTB_LOG
 
 ##
 ##     definitions
 ##
-LIB_PREFIX                             = CA
-ETHERNET_ADAPTER               = ethernet_adapter
-WIFI_ADAPTER                   = wifi_adapter
-BT_ADAPTER                             = bt_edr_adapter
-BLE_ADAPTER                            = bt_le_adapter
-ETHERNET_ADAPTER_PATH  = $(PROJECT_SRC_PATH)/$(ETHERNET_ADAPTER)/$(PLATFORM)
-WIFI_ADAPTER_PATH              = $(PROJECT_SRC_PATH)/$(WIFI_ADAPTER)/$(PLATFORM)
-BT_ADAPTER_PATH                        = $(PROJECT_SRC_PATH)/$(BT_ADAPTER)/$(PLATFORM)
-BLE_ADAPTER_PATH               = $(PROJECT_SRC_PATH)/$(BLE_ADAPTER)/$(PLATFORM)
-TARGET                                 = lib$(PROJECT_NAME).so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
-TARGET_ALIAS                   = lib$(PROJECT_NAME).so
+LIB_PREFIX = CA
+ETHERNET_ADAPTER = ethernet_adapter
+WIFI_ADAPTER = wifi_adapter
+BT_ADAPTER = bt_edr_adapter
+BLE_ADAPTER = bt_le_adapter
+ETHERNET_ADAPTER_PATH = $(PROJECT_SRC_PATH)/$(ETHERNET_ADAPTER)/$(PLATFORM)
+ETHERNET_ADAPTER_COMMON_PATH = $(PROJECT_SRC_PATH)/$(ETHERNET_ADAPTER)
+WIFI_ADAPTER_PATH = $(PROJECT_SRC_PATH)/$(WIFI_ADAPTER)/$(PLATFORM)
+WIFI_ADAPTER_COMMON_PATH = $(PROJECT_SRC_PATH)/$(WIFI_ADAPTER)
+BT_ADAPTER_PATH        = $(PROJECT_SRC_PATH)/$(BT_ADAPTER)/$(PLATFORM)
+BLE_ADAPTER_PATH = $(PROJECT_SRC_PATH)/$(BLE_ADAPTER)/$(PLATFORM)
+ADAPTER_UTILS_PATH = $(PROJECT_SRC_PATH)/adapter_util
+TARGET = lib$(PROJECT_NAME).so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
+TARGET_ALIAS = lib$(PROJECT_NAME).so
 
 ##
 ##     libcoap
 ##
 libcoap_build_dir = $(PROJECT_LIB_PATH)/libcoap-4.1.1
 
-LDFLAGS:=-L$(libcoap_build_dir)
-LDLIBS:=-lcoap
+LDFLAGS := -L$(libcoap_build_dir)
+LDLIBS := -lcoap
 
-BUILD_FLAG.debug       = $(DEFINE_FLAG) $(DEBUG_FLAG) 
-BUILD_FLAG.release     =       $(DEFINE_FLAG)
+BUILD_FLAG.debug = $(DEFINE_FLAG) $(DEBUG_FLAG)
+BUILD_FLAG.release =   $(DEFINE_FLAG)
 BUILD_FLAG = $(BUILD_FLAG.$(BUILD))
 
 DEBUG_DIR = ./debug
@@ -79,48 +83,46 @@ RELEASE_DIR = ./release
 ##
 ##     file declaration
 ##
-COMPONENT_SRCS                 =  \
-logger.c oic_malloc.c oic_logger.c oic_console_logger.c \
-caconnectivitymanager.c caremotehandler.c cainterfacecontroller.c camessagehandler.c   \
-canetworkconfigurator.c caedradapter.c caleadapter.c   \
-caethernetadapter.c cawifiadapter.c \
-caprotocolmessage.c cawificore.c       \
-uqueue.c uarraylist.c umutex.c uthreadpool.c \
-
-COMPONENT_OBJS                 = $(COMPONENT_SRCS:%.c=$(OBJ_DIR)/%.o)
+COMPONENT_SRCS := logger.c oic_logger.c oic_console_logger.c oic_malloc.c oic_string.c uqueue.c uarraylist.c umutex.c uthreadpool.c
+COMPONENT_SRCS += caconnectivitymanager.c caremotehandler.c cainterfacecontroller.c camessagehandler.c caqueueingthread.c canetworkconfigurator.c caprotocolmessage.c
+COMPONENT_SRCS += caadapterutils.c camessagequeue.c
+COMPONENT_SRCS += caethernetadapter.c cawifiadapter.c caedradapter.c caleadapter.c
+COMPONENT_SRCS += cawifiserver.c cawificlient.c cawifinwmonitor.c
+COMPONENT_SRCS += caethernetserver.c caethernetclient.c caethernetnwmonitor.c
+COMPONENT_OBJS = $(COMPONENT_SRCS:%.c=$(OBJ_DIR)/%.o)
 
 ##
 ##     compiler flags
 ##
-CFLAGS                         =       -g -c -Wall -fPIC `pkg-config --cflags glib-2.0`
-
-LFLAGS                         =       -ldl -lpthread `pkg-config --libs glib-2.0`
-
-IFLAGS                         =       -I$(PROJECT_COMMON_INC_PATH)    \
-                                               -I$(PROJECT_API_PATH)   \
-                                               -I$(PROJECT_INC_PATH)   \
-                                               -I$(ETHERNET_ADAPTER_PATH)      \
-                                               -I$(WIFI_ADAPTER_PATH)  \
-                                               -I$(BT_ADAPTER_PATH)    \
-                                               -I$(BLE_ADAPTER_PATH)   \
-                        -I$(libcoap_build_dir)
-
-DFLAGS                         = -DLINUX               \
-                      -DWITH_POSIX             \
-                      $(BUILD_FLAG)\
+CFLAGS = -g -c -Wall -fPIC `pkg-config --cflags glib-2.0`
+LFLAGS = -ldl -lpthread `pkg-config --libs glib-2.0`
+IFLAGS = -I$(PROJECT_COMMON_INC_PATH)  \
+       -I$(PROJECT_API_PATH)   \
+       -I$(PROJECT_INC_PATH)   \
+       -I$(ETHERNET_ADAPTER_PATH)      \
+       -I$(WIFI_ADAPTER_PATH)  \
+       -I$(BT_ADAPTER_PATH)    \
+       -I$(BLE_ADAPTER_PATH)   \
+        -I$(libcoap_build_dir)
+
+DFLAGS = -D__LINUX__ -DWITH_POSIX $(BUILD_FLAG)
+
 ##
 ##     compile and link rules
 ##
 vpath %.c $(PROJECT_COMMON_SRC_PATH)
+vpath %.c $(ADAPTER_UTILS_PATH)
 vpath %.c $(ETHERNET_ADAPTER_PATH)
+vpath %.c $(ETHERNET_ADAPTER_COMMON_PATH)
 vpath %.c $(WIFI_ADAPTER_PATH)
+vpath %.c $(WIFI_ADAPTER_COMMON_PATH)
 vpath %.c $(BT_ADAPTER_PATH)
 vpath %.c $(BLE_ADAPTER_PATH)
 vpath %.c $(PROJECT_SRC_PATH)
 
 $(OBJ_DIR)/%.o: %.c
-       @$(MAKE_OBJ_PATH)
-       @$(CC) -o $@ $(CFLAGS) $(DFLAGS) $(IFLAGS) $<
+       $(MAKE_OBJ_PATH)
+       $(CC) -o $@ $(CFLAGS) $(DFLAGS) $(IFLAGS) $<
 
 all : $(TARGET)
        @echo   " "
@@ -129,12 +131,14 @@ all : $(TARGET)
        @echo   "======================"
 
 $(TARGET) : $(COMPONENT_OBJS)
+       cd $(libcoap_build_dir); $(MAKE)
        @$(MAKE_PROJECT_OUT_PATH)
-       @$(CC) -shared -Wl,-soname,$(TARGET) -o $@ $(COMPONENT_OBJS) $(LFLAGS) $(LDFLAGS) $(LDLIBS) 
+       @$(CC) -shared -Wl,-soname,$(TARGET) -o $@ $(COMPONENT_OBJS) $(LFLAGS) $(LDFLAGS) $(LDLIBS)
        @$(MV) $(TARGET) $(PROJECT_OUT_PATH)/.
        @$(CD) $(PROJECT_OUT_PATH); $(MAKE_TARGET_ALIAS)
 
-clean :        
+clean :
+       cd $(libcoap_build_dir) && make clean
        @$(RM) $(DEBUG_DIR) $(RELEASE_DIR)\
                        $(PROJECT_OUT_PATH)