source: svn/trunk/zas_dstar/build/os/module/Makefile

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
File size: 2.4 KB
Line 
1
2mod_name := dst_mod
3
4CUR_DIR         := .
5APP_DIR         := ../../..
6INSTALL_DIR     := $(APP_DIR)/candidates
7SRC_DIR         := $(CUR_DIR)/../../../hal/os/src/module
8
9#CROSS_COMPILE := mips-linux-uclibc-
10AS      :=$(CROSS_COMPILE)as
11LD      :=$(CROSS_COMPILE)ld
12CC      :=$(CROSS_COMPILE)gcc
13CPP     :=$(CC) -E
14AR      :=$(CROSS_COMPILE)ar
15NM      :=$(CROSS_COMPILE)nm
16STRIP   :=$(CROSS_COMPILE)strip
17OBJCOPY :=$(CROSS_COMPILE)objcopy
18OBJDUMP :=$(CROSS_COMPILE)objdump
19RANLIB  :=$(CROSS_COMPILE)ranlib
20
21DEBUG := -DDEBUG_LEVEL_ERROR
22#check if debug version
23ifeq ($(MAKECMDGOALS),debug)
24DEBUG := -g -DDEBUG -DDEBUG_LEVEL_ERROR -DDEBUG_LEVEL_TRACE
25endif
26
27DEFS := -D_REENTRANT -DPURE_BIG_ENDIAN
28OPT :=
29GCCFLAG := -fno-for-scope
30KERNEL_CFLAGS := $(OPT) -DCONFIG_ENDIAN_BIG
31ARFLAGS := ruv
32
33LINUX_INC = /usr/src/linux-2.4/include
34
35ifeq "$(USE_MIPS)" "1"
36LDFLAGS := -m elf32btsmip
37CFLAGS = $(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 \
38                -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -msoft-float -ffreestanding\
39                -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common \
40                -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -mlong-calls \
41                -include $(LINUX_INC)/linux/autoconf.h \
42                -I$(LINUX_INC)/ \
43                -I$(LINUX_INC)/asm/mach-generic \
44                -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\""
45else
46LDFLAGS :=
47CFLAGS = -DCONFIG_MODULE_UNLOAD -D__KERNEL__ -fomit-frame-pointer \
48                -include $(LINUX_INC)/linux/autoconf.h \
49                -I$(LINUX_INC)/ \
50                -I$(LINUX_INC)/asm/mach-generic
51endif
52
53OBJS := $(SRC_DIR)/dst_module.o $(SRC_DIR)/lld_osutil.o $(SRC_DIR)/lld_sem.o $(SRC_DIR)/lld_evnt.o
54
55ifeq "$(USE_LINUX_2_6)" "1"
56all: $(mod_name).ko
57else
58all: $(mod_name).o
59endif
60
61$(mod_name).ko: $(mod_name).o $(mod_name).mod.o
62        $(LD) -m elf32btsmip -r -o $@ $^
63        cp -f $@ $(INSTALL_DIR)
64
65$(mod_name).o : $(OBJS)
66        $(LD) $(LDFLAGS) -r -o $@ $^
67        cp -f $@ $(INSTALL_DIR)
68
69$(OBJS): %.o : %.c
70        $(CC) $(CFLAGS) -c -o $@ $^
71
72$(mod_name).mod.c: $(patsubst, %.o, %.c, $(OBJS))
73        $(MODPOST_DIR)scripts/mod/modpost $(MODPOST_DIR)vmlinux $(mod_name).o
74
75$(mod_name).mod.o: $(mod_name).mod.c
76        $(CC) $(CFLAGS) -c -o $@ $<
77
78clean:
79        rm -f $(mod_name).ko $(OBJS) $(mod_name).mod.o $(mod_name).mod.c $(mod_name).o
80
81install:
82distclean:
Note: See TracBrowser for help on using the repository browser.