📄 makefile
字号:
CC=arm-elf-gcc
AS=arm-elf-as
LD=arm-elf-ld
AR=arm-elf-ar
CFLAGS = -DAT91M40400 -c
THUMB_CFLAGS = $(CFLAGS) -mthumb-interwork
AFLAGS = --defsym AT91M40400=1
THUMB_AFLAGS = $(AFLAGS) -mthumb-interwork
O32DIR = obj32/
O16DIR = obj16/
OBJS_32a = $(O32DIR)asm_path.o32 \
$(O32DIR)c_path.o \
$(O32DIR)irq_pio.o32 \
$(O32DIR)irq_tc.o32 \
$(O32DIR)irq_usart.o32 \
$(O32DIR)irq_wd.o32
OBJS_32b= $(O32DIR)lib_aic.o \
$(O32DIR)lib_ext_irq.o \
$(O32DIR)lib_pio.o \
$(O32DIR)lib_ps.o \
$(O32DIR)lib_sf.o
OBJS_32c= $(O32DIR)lib_tc.o \
$(O32DIR)lib_usart.o \
$(O32DIR)lib_wd.o
OBJS_16a = $(O16DIR)asm_path.o16 \
$(O16DIR)c_path.o
OBJS_16b= $(O16DIR)lib_aic.o \
$(O16DIR)lib_ext_irq.o \
$(O16DIR)lib_pio.o \
$(O16DIR)lib_ps.o \
$(O16DIR)lib_sf.o
OBJS_16c= $(O16DIR)lib_tc.o \
$(O16DIR)lib_usart.o \
$(O16DIR)lib_wd.o
%.s %.o32:
$(AS) $(AFLAGS) $< -o$(O32DIR)$(@F)
%.s %.o16:
$(AS) $(THUMB_AFLAGS) $< -o$(O16DIR)$(@F)
%.c %.o:
$(CC) $(CFLAGS) $< -o$(O32DIR)$(@F)
$(CC) $(THUMB_CFLAGS) $< -o$(O16DIR)$(@F)
lib :
$(MAKE) lib32.lib
$(MAKE) lib16.lib
lib32.lib : $(OBJS_32a) $(OBJS_32b) $(OBJS_32c)
$(AR) r lib32.lib $(OBJS_32a)
$(AR) r lib32.lib $(OBJS_32b)
$(AR) r lib32.lib $(OBJS_32c)
lib16.lib : $(OBJS_16a) $(OBJS_16b) $(OBJS_16c)
$(AR) r lib16.lib $(OBJS_16a)
$(AR) r lib16.lib $(OBJS_16b)
$(AR) r lib16.lib $(OBJS_16c)
$(O32DIR)asm_path.o32: ../asm_path.s
$(O16DIR)asm_path.o16: ../asm_path.s
$(O32DIR)c_path.o: ../c_path.c
$(O32DIR)irq_pio.o32: irq_pio.s ../Include/arm.inc ../Include/pio.inc ../Include/aic.inc ../Include/irq.mac
$(O32DIR)irq_tc.o32: irq_tc.s ../Include/arm.inc ../Include/tc.inc ../Include/aic.inc ../Include/irq.mac
$(O32DIR)irq_usart.o32: irq_usart.s ../Include/arm.inc ../Include/usart.inc ../Include/aic.inc ../Include/irq.mac
$(O32DIR)irq_wd.o32: irq_wd.s ../Include/arm.inc ../Include/wd.inc ../Include/aic.inc ../Include/irq.mac
$(O32DIR)lib_aic.o: lib_aic.c ..\Include/std_c.h ..\Include/aic.h
$(O32DIR)lib_ext_irq.o: lib_ext_irq.c ..\Include/std_c.h ..\Include/aic.h ..\Include/pio.h ..\Include/prior_irq.h ..\Library/lib_aic.c ..\Library/lib_pio.c
$(O32DIR)lib_pio.o: lib_pio.c ..\Include/std_c.h ..\Include/pio.h ..\Include/aic.h ..\Include/prior_irq.h ..\Library/lib_aic.c
$(O32DIR)lib_ps.o: lib_ps.c ..\Include/std_c.h ..\Include/ps.h
$(O32DIR)lib_sf.o: lib_sf.c ../include/std_c.h ../include/sf.h
$(O32DIR)lib_tc.o: lib_tc.c ..\Include/std_c.h ..\Include/tc.h ..\Include/aic.h ..\Include/pio.h ..\Include/prior_irq.h ..\Library/lib_aic.c ..\Library/lib_pio.c
$(O32DIR)lib_usart.o: lib_usart.c ..\Include/std_c.h ..\Include/usart.h ..\Include/aic.h ..\Include/pio.h ..\Include/prior_irq.h ..\Library/lib_aic.c ..\Library/lib_pio.c
$(O32DIR)lib_wd.o: lib_wd.c ..\Include/std_c.h ..\Include/wd.h ..\Include/aic.h ..\Include/prior_irq.h ..\Library/lib_aic.c
clean:
-rm -f $(O32DIR)*.o $(O16DIR)*.o *.lib
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -