1DEBUG ?= y 2STATIC_LIB ?= y 3EXC ?= n 4SG ?= n 5DRIVER_PROFILING ?= n 6 7OUTPUT_DIR ?= ../Output 8 9LIB_NAME = libtiOsLib 10 11ifeq ($(CUDK_ROOT), "") 12 CUDK_ROOT = .. 13endif 14 15ifeq ($(DEBUG),y) 16 DEBUGFLAGS = -O0 -g -fno-builtin -DDEBUG -D TI_DBG # "-O" is needed to expand inlines 17else 18 DEBUGFLAGS = -O2 19endif 20DEBUGFLAGS+= -DHOST_COMPILE 21 22 23ifeq ($(STATIC_LIB),y) 24 TARGET = $(OUTPUT_DIR)/$(LIB_NAME).a 25else 26 TARGET = $(OUTPUT_DIR)/$(LIB_NAME).so 27endif 28 29CUDK_ROOT ?= .. 30IPC_DIR = $(CUDK_ROOT)/IPC 31OAL_DIR = $(CUDK_ROOT)/OAL 32CROSS_COMPILE ?= arm_v4t_le- 33 34SRCS = $(OAL_DIR)/Common/TI_OAL.cpp \ 35 $(OAL_DIR)/Pform/Linux/TILibLinux.cpp \ 36 $(CUDK_ROOT)/UtilityAdapter/Linux/IpcWithTISMLinux.cpp \ 37 $(CUDK_ROOT)/UtilityAdapter/TI_AdapterApi.cpp \ 38 $(CUDK_ROOT)/UtilityAdapter/TI_Adapter.cpp \ 39 $(CUDK_ROOT)/UtilityAdapter/CTI_Adapter.cpp \ 40 $(CUDK_ROOT)/UtilityAdapter/TI_IPC_Suppl.cpp \ 41 $(IPC_DIR)/Linux/ipc_event.c \ 42 $(IPC_DIR)/Linux/cu_ipc.c \ 43 $(IPC_DIR)/Linux/ipc_user.c 44 45ifeq ($(EXC), y) 46SRCS += $(CUDK_ROOT)/UtilityAdapter/EXC/CTI_AdapterEXC.cpp \ 47 $(CUDK_ROOT)/UtilityAdapter/EXC/TI_AdapterApiEXC.cpp 48 49CFLAGS := -D EXC_MODULE_INCLUDED 50endif 51 52ifeq ($(SG), y) 53CFLAGS += -D BTH_COEXISTENCE 54endif 55 56ifeq ($(DRIVER_PROFILING),y) 57 CFLAGS += -D DRIVER_PROFILING 58endif 59 60#ARMFLAGS = -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -Uarm -fno-common -pipe 61#ARMFLAGS += -mapcs -mno-sched-prolog -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 62#ARMFLAGS += -mtune=arm9tdmi -mshort-load-bytes -msoft-float -iwithprefix include 63 64ARMFLAGS = -fno-common -pipe 65 66 67INCLUDEDIR = -I $(CUDK_ROOT)/Inc \ 68 -I $(CUDK_ROOT)/OAL/Common \ 69 -I $(CUDK_ROOT)/UtilityAdapter \ 70 -I $(CUDK_ROOT)/../common/inc \ 71 -I $(CUDK_ROOT)/../common/src/hal/FirmwareApi \ 72 -I $(CUDK_ROOT)/TISMgr \ 73 -I $(CUDK_ROOT)/../pform/linux/inc \ 74 -I $(CUDK_ROOT)/../pform/common/inc \ 75 -I $(CUDK_ROOT)/IPC/Linux \ 76 -I $(CUDK_ROOT)/CLI \ 77 -I $(CUDK_ROOT)/CLI/drv_inc \ 78 -I $(CUDK_ROOT)/CLI/pform_inc 79 80ifeq ($(EXC),y) 81 INCLUDEDIR += \ 82 -I $(CUDK_ROOT)/../common/inc/EXC \ 83 -I $(CUDK_ROOT)/Inc/EXC 84endif 85 86 87 88 89CFLAGS += -Wall -D__LINUX__ -D_IPC_SUPPL -DTI_EMBEDDED_SUPPLICANT 90CFLAGS += $(DEBUGFLAGS) 91CFLAGS += $(INCLUDEDIR) $(ARMFLAGS) 92 93OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SRCS))) 94 95DEPS = $(OBJS:%.o=%.d) 96 97all: $(TARGET) 98 99$(OUTPUT_DIR)/libtiOsLib.a: $(OBJS) 100 rm -f $@ 101 $(CROSS_COMPILE)$(AR) -q $@ $^ 102 103$(OUTPUT_DIR)/libtiOsLib.so: $(OBJS) 104 rm -f $@ 105 $(CROSS_COMPILE)gcc -shared $(CFLAGS) $(OBJS) -lc -o $@ 106 $(CROSS_COMPILE)strip $@ 107 108ifeq ($(findstring "clean", $(MAKECMDGOALS)), "") 109-include .depend 110endif 111 112%.o: %.cpp 113 @echo $@ 114 @$(CROSS_COMPILE)gcc -c $(CFLAGS) $< -o $@ 115 116%.o: %.c 117 @echo $@ 118 @$(CROSS_COMPILE)gcc -c $(CFLAGS) $< -o $@ 119 120%.i: %.cpp %.c 121 $(CROSS_COMPILE)gcc -E -v -c $(CFLAGS) $< -o $@ 122 123%.s: %.cpp %.c 124 $(CROSS_COMPILE)gcc -save-temps -c $(CFLAGS) $< -o $@ 125 126%.d: %.cpp 127 @echo $@ 128 @$(CROSS_COMPILE)gcc $< -MT$(^:%.cpp=%.o) -M $(CFLAGS) > $@ 129 130%.d: %.c 131 @echo $@ 132 @$(CROSS_COMPILE)gcc $< -MT$(^:%.c=%.o) -M $(CFLAGS) > $@ 133 134.depend: $(DEPS) 135 rm -f $@ 136 for aa in $^; do cat $$aa >> $@; done 137 138clean: 139 @rm -f .depend $(OBJS) $(DEPS) $(OUTPUT_DIR)/libtiOsLib.a $(OUTPUT_DIR)/libtiOsLib.so 140 141TAGS: $(SRCS) 142 { find ${BASE_DIR}/common -name '*.h' -print ; \ 143 find ${BASE_DIR}/Test -name '*.h' -print ; \ 144 find . -name '*.h' -print ; } | etags - 145 etags -a $(SRCS) 146