mod_name := dst_mod CUR_DIR := . APP_DIR := ../../.. INSTALL_DIR := $(APP_DIR)/candidates SRC_DIR := $(CUR_DIR)/../../../hal/os/src/module #CROSS_COMPILE := mips-linux-uclibc- AS :=$(CROSS_COMPILE)as LD :=$(CROSS_COMPILE)ld CC :=$(CROSS_COMPILE)gcc CPP :=$(CC) -E AR :=$(CROSS_COMPILE)ar NM :=$(CROSS_COMPILE)nm STRIP :=$(CROSS_COMPILE)strip OBJCOPY :=$(CROSS_COMPILE)objcopy OBJDUMP :=$(CROSS_COMPILE)objdump RANLIB :=$(CROSS_COMPILE)ranlib DEBUG := -DDEBUG_LEVEL_ERROR #check if debug version ifeq ($(MAKECMDGOALS),debug) DEBUG := -g -DDEBUG -DDEBUG_LEVEL_ERROR -DDEBUG_LEVEL_TRACE endif DEFS := -D_REENTRANT -DPURE_BIG_ENDIAN OPT := GCCFLAG := -fno-for-scope KERNEL_CFLAGS := $(OPT) -DCONFIG_ENDIAN_BIG ARFLAGS := ruv LINUX_INC = /usr/src/linux-2.4/include ifeq "$(USE_MIPS)" "1" LDFLAGS := -m elf32btsmip CFLAGS = $(KERNEL_CFLAGS) -nostdinc -isystem /opt/Trid_HiDTV_BR/build_mips_nofpu/mips-uClibc-linux/usr/bin/../lib/gcc/mips-linux-uclibc/4.2.0/include \ -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -msoft-float -ffreestanding\ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common \ -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -mlong-calls \ -include $(LINUX_INC)/linux/autoconf.h \ -I$(LINUX_INC)/ \ -I$(LINUX_INC)/asm/mach-generic \ -DCONFIG_MODULE_UNLOAD -D__KERNEL__ -DMODULE -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR($(mod_name))" -D"KBUILD_MODNAME=KBUILD_STR($(mod_name))" -D"ENDIAN_CFG_STRING=\"Pure Big Endian\"" else LDFLAGS := CFLAGS = -DCONFIG_MODULE_UNLOAD -D__KERNEL__ -fomit-frame-pointer \ -include $(LINUX_INC)/linux/autoconf.h \ -I$(LINUX_INC)/ \ -I$(LINUX_INC)/asm/mach-generic endif OBJS := $(SRC_DIR)/dst_module.o $(SRC_DIR)/lld_osutil.o $(SRC_DIR)/lld_sem.o $(SRC_DIR)/lld_evnt.o ifeq "$(USE_LINUX_2_6)" "1" all: $(mod_name).ko else all: $(mod_name).o endif $(mod_name).ko: $(mod_name).o $(mod_name).mod.o $(LD) -m elf32btsmip -r -o $@ $^ cp -f $@ $(INSTALL_DIR) $(mod_name).o : $(OBJS) $(LD) $(LDFLAGS) -r -o $@ $^ cp -f $@ $(INSTALL_DIR) $(OBJS): %.o : %.c $(CC) $(CFLAGS) -c -o $@ $^ $(mod_name).mod.c: $(patsubst, %.o, %.c, $(OBJS)) $(MODPOST_DIR)scripts/mod/modpost $(MODPOST_DIR)vmlinux $(mod_name).o $(mod_name).mod.o: $(mod_name).mod.c $(CC) $(CFLAGS) -c -o $@ $< clean: rm -f $(mod_name).ko $(OBJS) $(mod_name).mod.o $(mod_name).mod.c $(mod_name).o install: distclean: