Update # 1
Its a 3rd party driver package which also build other utilities along with the driver module. Here is the output of the driver module build process
make CT_BUILD_TYPE=MX6Q_ARM CT_OS_TYPE=linux CT_OS_SUB_TYPE= CT_LINUXPATH=~/Work/CSP/projects/phase_1/farshad/cspbox/platform/imx6/mel5/fs/workspace/linu x-2.6.38-imx6 CT_BUILD_TYPE=MX6Q_ARM CT_CROSS_COM PILE_TYPE=~/bin/mgc/CodeSourcery/Sourcery_CodeBench_for_ARM_GNU_Linux/bin/arm-none-linux- gnueabi- CT_ARCH_CPU_TYPE=arm CT_HC_DRIVERS=pci_std/ CT_MAKE_INCLUDE_OVERRIDE= CT_BUILD_OUTPUT_OVERRIDE=/home/far shad/Work/CSP/boards/imx6q/ar6k3/ar6003_3.1_RC_Linux_release_[posted_2011_8_19_olca3.1RC_553 /imx6build/host/.output/MX6Q_ARM-SDIO/image -C /home/farshad/Work/CSP/boards/imx6q/ar6k3/ar6003_3.1_RC_Linux _release_[posted_2011_8_19_olca3.1RC_553/imx6build/host/sdiostack/src default make[3]: Entering directory `/home/farshad/Work/CSP/boards/imx6q/ar6k3/ar6003_3.1_RC_Linux_release_[posted_2011_8_19_olc a3.1RC_553/imx6build/host/sdiostack/src' make -C ~/Work/CSP/projects/phase_1/farshad/cspbox/platform/imx6/mel5/fs/workspace/linux-2.6.38-imx6 SUBDIRS=/home/farshad/Work/CSP/boards/imx6q/ar6k3/ar6003_3.1_RC_Linux_release_[posted_2011_8_19_olca 3.1RC_553/imx6build/host/sdiostack/src ARCH=arm CROSS_COMPILE=~/bin/mgc/CodeSourcery/Sourcery_CodeBench_for_ARM_GNU_Linux/bin/arm-none-linux-gnueabi- EXTRA_CFLAGS="-DLINUX -I/home/farshad/Work/CSP/board s/imx6q/ar6k3/ar6003_3.1_RC_Linux_release_[posted_2011_8_19_olca3.1RC_553/imx6build/host/sdiostack/src/include -DDEBUG" modules make[4]: Entering directory `/home/farshad/Work/CSP/projects/phase_1/farshad/cspbox/platform/imx6/mel5/fs/workspace/linux-2.6.38-imx6' Building modules, stage 2. MODPOST 0 modules make[4]: Leaving directory `/home/farshad/Work/CSP/projects/phase_1/farshad/cspbox/platform/imx6/mel5/fs/workspace/linu x-2.6.38-imx6' Here is the Makefile of the driver module.
ifdef CT_MAKE_INCLUDE_OVERRIDE -include $(CT_MAKE_INCLUDE_OVERRIDE) else -include localmake.$(CT_OS_TYPE).inc -include localmake.$(CT_OS_TYPE).private.inc endif export CT_OS_TYPE export CT_OS_SUB_TYPE export CT_OS_TOP_LEVEL_RULE export CT_PASS_CFLAGS export CT_SRC_BASE export CT_BUILD_SUB_PROJ # this makefile can only be invoked from the /EMSDIO/src base CT_SRC_BASE :=$(shell pwd) # export flags for which HCDs to build. Set the hcd driver name in hcd/ in your localmake.*.inc file. export CT_HC_DRIVERS export PDK_BUILD export HDK_BUILD export ALL_BUILD export ATHRAW_FD_BUILD export BUS_BUILD # For Linux ifeq ($(CT_OS_TYPE),linux) #make a copy for linux 2.4 EXTRA_CFLAGS += -DLINUX -I$(CT_SRC_BASE)/include ifneq ($(CT_RELEASE),1) EXTRA_CFLAGS += -DDEBUG endif export EXTRA_CFLAGS CT_SRC_OUTPUT :=$(CT_SRC_BASE)/../output ifdef CT_BUILD_OUTPUT_OVERRIDE _CT_COMPILED_OBJECTS_PATH :=$(CT_BUILD_OUTPUT_OVERRIDE) _MAKE_OUTPUT_DIR := _CLEAN_OUTPUT_DIR := else _CT_COMPILED_OBJECTS_PATH := $(CT_SRC_OUTPUT)/$(CT_BUILD_TYPE) _MAKE_OUTPUT_DIR := mkdir --parents $(_CT_COMPILED_OBJECTS_PATH) _CLEAN_OUTPUT_DIR := rm -R -f $(CT_SRC_OUTPUT) endif ifeq ($(CT_OS_SUB_TYPE),linux_2_4) CT_PASS_CFLAGS := $(EXTRA_CFLAGS) _CT_MOD_EXTENSION :=o ifeq ($(ALL_BUILD),1) subdir-m += busdriver/ lib/ hcd/ function/ else ifeq ($(BUS_BUILD),1) subdir-m += busdriver/ lib/ hcd/ else ifeq ($(PDK_BUILD),1) subdir-m += function/ else ifeq ($(HDK_BUILD),1) subdir-m += hcd/ function/ endif endif endif endif # add in rules to make modules CT_OS_TOP_LEVEL_RULE :=$(CT_LINUXPATH)/Rules.make include $(CT_OS_TOP_LEVEL_RULE) else #2.6+ _CT_MOD_EXTENSION :=ko ifeq ($(ALL_BUILD),1) obj-m += busdriver/ lib/ hcd/ function/ else ifeq ($(BUS_BUILD),1) obj-m += busdriver/ lib/ hcd/ else ifeq ($(PDK_BUILD),1) obj-m += function/ else ifeq ($(HDK_BUILD),1) obj-m += hcd/ function/ endif endif endif endif endif ifdef CT_BUILD_SUB_PROJ _CT_SUBDIRS=$(CT_BUILD_SUB_PROJ) else _CT_SUBDIRS=$(CT_SRC_BASE) endif ifdef CT_CROSS_COMPILE_TYPE CT_MAKE_COMMAND_LINE=$(CT_OUTPUT_FLAGS) -C $(CT_LINUXPATH) SUBDIRS=$(_CT_SUBDIRS) ARCH=$(CT_ARCH_CPU_TYPE) CROSS_COMPILE=$(CT_CROSS_COMPILE_TYPE) else CT_MAKE_COMMAND_LINE=$(CT_OUTPUT_FLAGS) -C $(CT_LINUXPATH) SUBDIRS=$(_CT_SUBDIRS) endif makeoutputdirs: $(_MAKE_OUTPUT_DIR) default: makeoutputdirs echo " ************ BUILDING MODULE ************** " $(MAKE) $(CT_MAKE_COMMAND_LINE) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" modules echo " *** MODULE EXTENSION = $(_CT_MOD_EXTENSION)" $(CT_SRC_BASE)/../scripts/getobjects.scr $(CT_SRC_BASE) $(_CT_COMPILED_OBJECTS_PATH) $(_CT_MOD_EXTENSION) ifeq ($(CT_OS_SUB_TYPE),linux_2_4) # on 2.4 we can't invoke the linux clean with SUBDIRS, it will just clean out the kernel clean: find $(_CT_SUBDIRS) \( -name '*.[oas]' -o -name core -o -name '.*.flags' -o -name '.ko' -o -name '.*.cmd' \) -type f -print \ | grep -v lxdialog/ | xargs rm -f $(_CLEAN_OUTPUT_DIR) else clean: $(MAKE) $(CT_MAKE_COMMAND_LINE) clean find $(_CT_SUBDIRS) \( -name '*.[oas]' -o -name core -o -name '.*.flags' \) -type f -print \ | grep -v lxdialog/ | xargs rm -f $(_CLEAN_OUTPUT_DIR) endif endif # For QNX ifeq ($(CT_OS_TYPE),qnx) LIST=VARIANT EARLY_DIRS=lib ##ifndef QRECURSE QRECURSE=./recurse.mk ##ifdef QCONFIG ###QRDIR=$(dir $(QCONFIG)) ##endif ##endif include $(QRDIR)$(QRECURSE) endif