📄 makefile
字号:
# version: VERSION = 1# command define
COMPILER = /usr/local/bin/arm-elf-gcc
ASSEMBLER = /usr/local/bin/arm-elf-as
LINKER = /usr/local/bin/arm-elf-ld
OBJCOPY = /usr/local/bin/arm-elf-objcopy
NM = /usr/local/bin/arm-elf-nm
#COMPILER = /usr/bin/arm-elf-gcc#ASSEMBLER = /usr/bin/arm-elf-as#LINKER = /usr/bin/arm-elf-ld#OBJCOPY = /usr/bin/arm-elf-objcopy#NM = /usr/bin/arm-elf-nm
#LIB = /usr/bin/arm-elf-gcc# Compiler/assmebler/linker command flagsCCFLAG =
#-D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -mtune=arm7tdmi -mshort-load-bytes -msoft-float
# -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -g -DNO_MM -mapcs-32 -mtune=arm7tdmi -mshort-load-bytes -msoft-float -fno-omit-frame-pointerASMFLAG = -mapcs-32 -mno-fpuLNKFLAG = -p -X
#ASMFLAG = -D__ASSEMBLY__ -D__KERNEL__ -DNO_MM -mapcs-32 -msoft-float -mno-fpu -DTEXTADDR=0x00008000#LIBFLAG = -rv#arm-elf-gcc -D__KERNEL__ -I/home/wang/samsung318/uClinux-Samsung/linux-2.4.x/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -mtune=arm7tdmi -mshort-load-bytes -msoft-float -c -o signal.o signal.c#arm-elf-gcc -D__ASSEMBLY__ -D__KERNEL__ -I/home/wang/samsung318/uClinux-Samsung/linux-2.4.x/include #-DNO_MM -mapcs-32 -msoft-float -mno-fpu -c -o io-readsl-armv3.o io-readsl-armv3.S#arm-elf-ld -p -X -T arch/armnommu/vmlinux.lds arch/armnommu/kernel/head-armv.o arch/armnommu/kernel/init_task.o init/main.o init/version.o \# --start-group \# arch/armnommu/kernel/kernel.o arch/armnommu/mm/mm.o arch/armnommu/mach-samsung/samsung.o kernel/kernel.o mmnommu/mmnommu.o fs/fs.o ipc/ipc.o \# drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o \# net/network.o \# arch/armnommu/lib/lib.a /home/wang/samsung318/uClinux-Samsung/linux-2.4.x/lib/lib.a /opt/uClinux/lib/gcc-lib/arm-elf/2.95.3/libgcc.a \# --end-group \# -o linux # File location and nameOBJ_LOC = ./OBJSRC_LOC = ./SRCINC_LOC = ./INCLIB_LOC = ./LIB# Link Command FileLNK_FILE = MEM.ld# Target fileTARGET = test# Include file listINCS =#INCS = $(INC_LOC)/macros.ia \# $(INC_LOC)/cpuarch.ia \# $(INC_LOC)/boot_PPC860.ia \# $(INC_LOC)/machine.h \# $(INC_LOC)/isrppc.h \# $(INC_LOC)/common_types.h \# $(INC_LOC)/types.h \# $(INC_LOC)/mpc860.h \# $(INC_LOC)/tcpip.h \# $(INC_LOC)/drv_sys.h \# $(INC_LOC)/drv_flash.h \# $(INC_LOC)/drv_slic.h \# $(INC_LOC)/drv_uart.h \# $(INC_LOC)/drv_eth.h \# $(INC_LOC)/main.h# Linked object file listOBJS = $(OBJ_LOC)/app_init0.o \ $(OBJ_LOC)/app_init1.o# $(LIB_LOC)/libc.aall: $(TARGET).srec# HEX file$(TARGET).srec: $(TARGET).bin $(OBJCOPY) --input-target=binary --output-target=srec $(TARGET).bin $(TARGET).srec# BIN file$(TARGET).bin: $(TARGET).elf $(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin$(TARGET).elf : ${OBJS} $(LNK_FILE) Makefile @echo Linking ... $(LINKER) -T $(LNK_FILE) $(LNKFLAG) -o $(TARGET).elf $(OBJS) $(LINKER) -T $(LNK_FILE) $(LNKFLAG) -o $(TARGET).o $(OBJS)
$(NM) $(TARGET).o | grep -v '\(compiled\)\|\(\.o$$\)\|\( a \)' | sort > $(TARGET).map
# Assembler${OBJ_LOC}/%.o : $(SRC_LOC)/%.s $(INCS) Makefile $(ASSEMBLER) $(ASMFLAG) -a -I$(INC_LOC) -o $@ $<# Compiler${OBJ_LOC}/%.o : $(SRC_LOC)/%.c $(INCS) Makefile $(COMPILER) $(CCFLAG) -I$(INC_LOC) -c -o $@ $<clean:
rm -r $(TARGET).* ${OBJ_LOC}/*.o
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -