| STATIC_LIB ?= y |
| DEBUG ?= y |
| BUILD_SUPPL ?= y |
| SUPPL ?= ANDROID |
| WPA_ENTERPRISE ?= y |
| ETH_SUPPORT ?= n |
| |
| ifeq ($(DEBUG),y) |
| DEBUGFLAGS = -O2 -g -DDEBUG -DTI_DBG -fno-builtin |
| else |
| DEBUGFLAGS = -O2 |
| endif |
| |
| WILINK_ROOT = ../../../.. |
| CUDK_ROOT = $(WILINK_ROOT)/CUDK |
| LIB_NAME = tiOsLib |
| OUTPUT_DIR ?= $(CUDK_ROOT)/output |
| |
| DK_DEFINES = |
| ifeq ($(WPA_ENTERPRISE), y) |
| DK_DEFINES += -D WPA_ENTERPRISE |
| endif |
| |
| ifeq ($(BUILD_SUPPL), y) |
| DK_DEFINES += -D WPA_SUPPLICANT -D CONFIG_CTRL_IFACE -D CONFIG_CTRL_IFACE_UNIX |
| -include $(CUDK_ROOT)/$(TI_SUPP_LIB_DIR)/.config |
| ifeq ($(CONFIG_EAP_WSC), y) |
| DK_DEFINES += -DCONFIG_EAP_WSC |
| endif |
| endif |
| |
| ifeq ($(STATIC_LIB),y) |
| TARGET = $(OUTPUT_DIR)/$(LIB_NAME).a |
| else |
| TARGET = $(OUTPUT_DIR)/$(LIB_NAME).so |
| endif |
| |
| ifeq ($(ETH_SUPPORT), y) |
| DK_DEFINES += -DETH_SUPPORT |
| endif |
| |
| SRCS := \ |
| cu_wext.c \ |
| ipc_sta.c \ |
| ipc_event.c \ |
| ipc_wpa.c \ |
| os_trans.c \ |
| ParsEvent.c \ |
| osapi.c |
| ifeq ($(BUILD_SUPPL), y) |
| SRCS += \ |
| $(CUDK_ROOT)/$(TI_SUPP_LIB_DIR)/wpa_ctrl.c |
| endif |
| |
| OBJS = $(SRCS:.c=.o) |
| |
| DEPS = $(SRCS:%.c=%.d) |
| |
| ARMFLAGS = -fno-common -pipe |
| |
| INCLUDES = \ |
| -I ../inc \ |
| -I ../../common/inc \ |
| -I $(WILINK_ROOT)/stad/Export_Inc \ |
| -I $(WILINK_ROOT)/stad/src/Sta_Management \ |
| -I $(WILINK_ROOT)/stad/src/Application \ |
| -I $(WILINK_ROOT)/utils \ |
| -I $(WILINK_ROOT)/Txn \ |
| -I $(WILINK_ROOT)/TWD/TWDriver \ |
| -I $(WILINK_ROOT)/TWD/FirmwareApi \ |
| -I $(WILINK_ROOT)/TWD/FW_Transfer/Export_Inc \ |
| -I $(WILINK_ROOT)/TWD/TwIf \ |
| -I $(WILINK_ROOT)/platforms/os/linux/inc \ |
| -I $(WILINK_ROOT)/platforms/os/common/inc \ |
| -I $(WILINK_ROOT)/TWD/FirmwareApi \ |
| -I $(CUDK_ROOT)/$(TI_SUPP_LIB_DIR) \ |
| -I $(CUDK_ROOT)/configurationutility/inc |
| |
| CFLAGS = -Wall -Wstrict-prototypes $(DEBUGFLAGS) $(INCLUDES) -D__LINUX__ $(DK_DEFINES) -D__BYTE_ORDER_LITTLE_ENDIAN |
| |
| ifneq "$(CROSS_COMPILE)" "" #compile for ARM |
| CFLAGS += $(ARMFLAGS) |
| # strip symbols |
| ifneq "$(DEBUG)" "y" |
| LDFLAGS = -s |
| endif |
| |
| endif # CROSS_COMPILE != "" |
| |
| .PHONY: all |
| |
| all: $(TARGET) |
| |
| $(OUTPUT_DIR)/$(LIB_NAME).a: $(OBJS) |
| rm -f $@ |
| $(CROSS_COMPILE)$(AR) -q $@ $^ |
| |
| $(OUTPUT_DIR)/$(LIB_NAME).so: $(OBJS) |
| rm -f $@ |
| $(CROSS_COMPILE)gcc -shared $(CFLAGS) $(OBJS) -lc -o $@ |
| $(CROSS_COMPILE)strip $@ |
| |
| ifeq ("$(findstring $(MAKECMDGOALS), clean cleanall)", "") |
| -include .depend |
| endif |
| |
| %.o: %.cpp |
| @echo $@ |
| @$(CROSS_COMPILE)gcc $(CFLAGS) -c $^ -o $@ |
| |
| %.o: %.c |
| @echo $@ |
| @$(CROSS_COMPILE)gcc -s $(CFLAGS) -c $< -o $@ |
| |
| %.i: %.c |
| @$(CROSS_COMPILE)gcc $(CFLAGS) -E -c $< > $@ |
| |
| %.d: %.c |
| @echo $@ |
| @$(CROSS_COMPILE)gcc $< -MT$(^:%.c=%.o) -M $(CFLAGS) > $@ |
| |
| %.d: %.cpp |
| @echo $@ |
| @$(CROSS_COMPILE)gcc $< -MT$(^:%.cpp=%.o) -M $(CFLAGS) > $@ |
| |
| .depend: $(DEPS) |
| rm -f $@ |
| for aa in $^; do cat $$aa >> $@; done |
| |
| .PHONY: clean |
| clean: |
| @echo cleaning OS library... |
| rm -f .depend $(OBJS) $(DEPS) $(SRCS:.c=.i) *.ko .*.cmd .*.flags *.mod.c *~ *.~* $(TARGET) |
| |
| cleanall: clean |
| |