- 论坛徽章:
- 0
|
我写了一个驱动程序, 源程序由 file1.c, file2.c ,file3.c ... (file1.h,file2.h,file3.h..)等组成, 编译后要到开发板上运行。
Makefile 如下:
CC = gcc
LD = ld
INCLUDEDIR = /usr/src/linux-2.4.20-8/include
SRC0 = /home/test/src
INC0 = /home/test/inc
#-DEXPORT_SYMTAB -D__KERNEL_SYSCALLS__ -DCONFIG_MODULES
CFLAGS = -static -g -DMODULE -D__KERNEL__ -O2 -Wall -I$(INCLUDEDIR)
INC = $(INC0)/file1.h $(INC0)/file2.h $(INC0)/file3.h
SRC = $(SRC0)/file1.c $(SRC0)/file2.c $(SRC0)/file3.c
OBJ = $(SRC:.c=.o)
all: test.o
test.o: $(OBJ)
$(LD) -r $^ -o $@
clean:
rm -f $(SRC0)/*.o core *.bak *.o
现在编译后的 test.o 有 1M 多,因为这个.o 文件是要到开发板上运行的,文件有点大, 我的意思是,编译后需要 LD 进行链接 吗?
有没有办法减少test.o 文件的大小(前提条件是不改变程序的功能)。 |
|