📄 common.make
字号:
## Copyright (C) ARM Limited 1998. All rights reserved.# Makefile for uHAL Demonstration programs.# File: common.make# Assumes that uHAL/rules.in are somehow included #ROADDR=0x8000SOURCES = ../../SourcesINCLUDEFILES = $(UHAL_INCLUDE_FILES) INCL := $(INCL) -I$(SOURCES)/ -I.$(TARGET)_all: $(TARGET)/bubble.axf \ $(TARGET)/hello.axf $(TARGET)/sieve.axf \ $(TARGET)/queens.axf $(TARGET)/file-io.axf \ $(TARGET)/heap.axf $(TARGET)/led.axf \ $(TARGET)/system-timer.axf $(TARGET)/io.axf \ $(TARGET)/simple-caches.axf \ $(TARGET)/exception.axf \ $(TARGET)/bubble.aifbin $(TARGET)/file-io.aifbin \ $(TARGET)/hello.aifbin $(TARGET)/sieve.aifbin \ $(TARGET)/queens.aifbin $(TARGET)/exception.aifbin \ $(TARGET)/heap.aifbin $(TARGET)/led.aifbin \ $(TARGET)/system-timer.aifbin $(TARGET)/io.aifbin \ $(TARGET)/simple-caches.aifbin \ $(TARGET)/bubble.bin $(TARGET)/file-io.bin \ $(TARGET)/hello.bin $(TARGET)/sieve.bin \ $(TARGET)/queens.bin $(TARGET)/exception.bin \ $(TARGET)/heap.bin $(TARGET)/led.bin \ $(TARGET)/system-timer.bin $(TARGET)/io.bin \ $(TARGET)/simple-caches.bin#------------------------------------------------------------# The flavour of uHAL library that it depends upon#------------------------------------------------------------$(UHALLIB): $(UHAL_SOURCE_FILES) (echo '*** making uHAL' ; cd $(UHAL_BASE)/Build/$(BOARD_NAME).b; $(MAKE) TARGET=$(TARGET))#************************************************************# Header file for all tests.#************************************************************$(TARGET)/pr_head.o : $(SOURCES)/pr_head.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o#************************************************************# Initialisation stuff#************************************************************$(TARGET)/target.o : $(SOURCES)/target.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o#************************************************************# Hello world program.#************************************************************$(TARGET)/hello.o : $(SOURCES)/hello.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/hello.axf: $(TARGET)/hello.o $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/hello.sym $(UHALLIB) \ $(TARGET)/hello.o $(TARGET)/pr_head.o -o $(TARGET)/hello.axf$(TARGET)/hello.aifbin: $(TARGET)/hello.axf $(FROMELF) $(ELFDEFS) $(TARGET)/hello.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/hello.aifbin$(TARGET)/hello.bin: $(TARGET)/hello.axf $(FROMELF) $(ELFDEFS) $(TARGET)/hello.axf -bin $(ELF_OUTPUT) \ $(TARGET)/hello.bin#************************************************************# LED flashing program#************************************************************$(TARGET)/led.o : $(SOURCES)/led.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.oifeq ($(TARGET),semihosted)LEDOBJS=$(TARGET)/led.o $(TARGET)/pr_head.oelseLEDOBJS=$(TARGET)/led.oendif$(TARGET)/led.axf: $(LEDOBJS) $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/led.sym $(UHALLIB) $(LEDOBJS) \ -o $(TARGET)/led.axf$(TARGET)/led.aifbin: $(TARGET)/led.axf $(FROMELF) $(ELFDEFS) $(TARGET)/led.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/led.aifbin$(TARGET)/led.bin: $(TARGET)/led.axf $(FROMELF) $(ELFDEFS) $(TARGET)/led.axf -bin $(ELF_OUTPUT) \ $(TARGET)/led.bin#************************************************************# IO routines#************************************************************$(TARGET)/io.o : $(SOURCES)/io.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/io.axf: $(TARGET)/io.o $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/io.sym $(UHALLIB) \ $(TARGET)/io.o $(TARGET)/pr_head.o -o $(TARGET)/io.axf$(TARGET)/io.aifbin: $(TARGET)/io.axf $(FROMELF) $(ELFDEFS) $(TARGET)/io.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/io.aifbin$(TARGET)/io.bin: $(TARGET)/io.axf $(FROMELF) $(ELFDEFS) $(TARGET)/io.axf -bin $(ELF_OUTPUT) \ $(TARGET)/io.bin#************************************************************# Cache routines#************************************************************$(TARGET)/simple-caches.o : $(SOURCES)/simple-caches.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/simple-caches.axf: \ $(TARGET)/simple-caches.o $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/simple-caches.sym $(UHALLIB) \ $(TARGET)/simple-caches.o $(TARGET)/pr_head.o -o \ $(TARGET)/simple-caches.axf$(TARGET)/simple-caches.aifbin: $(TARGET)/simple-caches.axf $(FROMELF) $(ELFDEFS) $(TARGET)/simple-caches.axf -aifbin \ $(ELF_OUTPUT) $(TARGET)/simple-caches.aifbin$(TARGET)/simple-caches.bin: $(TARGET)/simple-caches.axf $(FROMELF) $(ELFDEFS) $(TARGET)/simple-caches.axf -bin $(ELF_OUTPUT) \ $(TARGET)/simple-caches.bin#************************************************************# Heap allocator/deallocator#************************************************************$(TARGET)/heap.o : $(SOURCES)/heap.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/heap.axf: $(TARGET)/heap.o $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/heap.sym $(UHALLIB) \ $(TARGET)/heap.o $(TARGET)/pr_head.o -o $(TARGET)/heap.axf$(TARGET)/heap.aifbin: $(TARGET)/heap.axf $(FROMELF) $(ELFDEFS) $(TARGET)/heap.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/heap.aifbin$(TARGET)/heap.bin: $(TARGET)/heap.axf $(FROMELF) $(ELFDEFS) $(TARGET)/heap.axf -bin $(ELF_OUTPUT) \ $(TARGET)/heap.bin#************************************************************# System-Timer example program#************************************************************$(TARGET)/system-timer.o : $(SOURCES)/system-timer.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/system-timer.axf: $(TARGET)/system-timer.o $(TARGET)/pr_head.o \ $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/system-timer.sym $(UHALLIB) \ $(TARGET)/system-timer.o $(TARGET)/pr_head.o -o $(TARGET)/system-timer.axf$(TARGET)/system-timer.aifbin: $(TARGET)/system-timer.axf $(FROMELF) $(ELFDEFS) $(TARGET)/system-timer.axf -aifbin \ $(ELF_OUTPUT) $(TARGET)/system-timer.aifbin$(TARGET)/system-timer.bin: $(TARGET)/system-timer.axf $(FROMELF) $(ELFDEFS) $(TARGET)/system-timer.axf -bin $(ELF_OUTPUT) \ $(TARGET)/system-timer.bin#************************************************************# Test harness to test programs under different mmu regimes.#************************************************************$(TARGET)/test.o : $(SOURCES)/test.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o#************************************************************# The tests themselves.#************************************************************#------------------------------------------------------------# Bubble test.#------------------------------------------------------------$(TARGET)/bubble.o: $(SOURCES)/bubble.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/bubble.axf: $(TARGET)/test.o $(TARGET)/target.o $(TARGET)/bubble.o \ $(UHALLIB) $(TARGET)/pr_head.o $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/bubble.sym $(UHALLIB) \ $(TARGET)/test.o $(TARGET)/pr_head.o $(TARGET)/target.o \ $(TARGET)/bubble.o -o $(TARGET)/bubble.axf$(TARGET)/bubble.aifbin: $(TARGET)/bubble.axf $(FROMELF) $(ELFDEFS) $(TARGET)/bubble.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/bubble.aifbin$(TARGET)/bubble.bin: $(TARGET)/bubble.axf $(FROMELF) $(ELFDEFS) $(TARGET)/bubble.axf -bin $(ELF_OUTPUT) \ $(TARGET)/bubble.bin#------------------------------------------------------------# Sieve test.#------------------------------------------------------------$(TARGET)/sieve.o: $(SOURCES)/sieve.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/sieve.axf: $(TARGET)/test.o $(TARGET)/target.o \ $(TARGET)/sieve.o $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/sieve.sym $(TARGET)/test.o \ $(TARGET)/target.o $(TARGET)/pr_head.o $(TARGET)/sieve.o \ $(UHALLIB) -o $(TARGET)/sieve.axf$(TARGET)/sieve.aifbin: $(TARGET)/sieve.axf $(FROMELF) $(ELFDEFS) $(TARGET)/sieve.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/sieve.aifbin$(TARGET)/sieve.bin: $(TARGET)/sieve.axf $(FROMELF) $(ELFDEFS) $(TARGET)/sieve.axf -bin $(ELF_OUTPUT) \ $(TARGET)/sieve.bin#------------------------------------------------------------# Sieve 500 test.#------------------------------------------------------------$(TARGET)/sieve500.o: $(SOURCES)/sieve500.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/sieve500.axf: \ $(TARGET)/test.o $(TARGET)/target.o $(TARGET)/sieve500.o \ $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/sieve500.sym $(UHALLIB) \ $(TARGET)/test.o $(TARGET)/target.o $(TARGET)/pr_head.o \ $(TARGET)/sieve500.o -o $(TARGET)/sieve500.axf$(TARGET)/sieve500.aifbin: $(TARGET)/sieve500.axf $(FROMELF) $(ELFDEFS) $(TARGET)/sieve500.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/sieve500.aifbin$(TARGET)/sieve500.bin: $(TARGET)/sieve500.axf $(FROMELF) $(ELFDEFS) $(TARGET)/sieve500.axf -bin $(ELF_OUTPUT) \ $(TARGET)/sieve500.bin#------------------------------------------------------------# Queens test.#------------------------------------------------------------$(TARGET)/queens.o: $(SOURCES)/queens.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/queens.axf: \ $(TARGET)/test.o $(TARGET)/target.o $(TARGET)/queens.o \ $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/queens.sym $(TARGET)/test.o \ $(TARGET)/target.o $(TARGET)/pr_head.o \ $(TARGET)/queens.o $(UHALLIB) -o $(TARGET)/queens.axf$(TARGET)/queens.aifbin: $(TARGET)/queens.axf $(FROMELF) $(ELFDEFS) $(TARGET)/queens.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/queens.aifbin$(TARGET)/queens.bin: $(TARGET)/queens.axf $(FROMELF) $(ELFDEFS) $(TARGET)/queens.axf -bin $(ELF_OUTPUT) \ $(TARGET)/queens.bin#************************************************************# File I/O for Lib C#************************************************************$(TARGET)/file-io.o : $(SOURCES)/file-io.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/file-io.axf: $(TARGET)/file-io.o $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/file-io.sym $(UHALLIB) \ $(TARGET)/file-io.o $(TARGET)/pr_head.o -o $(TARGET)/file-io.axf$(TARGET)/file-io.aifbin: $(TARGET)/file-io.axf $(FROMELF) $(ELFDEFS) $(TARGET)/file-io.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/file-io.aifbin$(TARGET)/file-io.bin: $(TARGET)/file-io.axf $(FROMELF) $(ELFDEFS) $(TARGET)/file-io.axf -bin $(ELF_OUTPUT) \ $(TARGET)/file-io.bin#************************************************************# Division by zero exception for Lib C#************************************************************$(TARGET)/exception.o : $(SOURCES)/exception.c $(SYSTEM_INCLUDE_FILES) $(ARMCC) $(CFL) $(CFLAGS) $(CDEFS) -c $(INCL) $< -o $*.o$(TARGET)/exception.axf: $(TARGET)/exception.o $(TARGET)/pr_head.o $(UHALLIB) $(ARMLINK) $(LFLAGS) $(LDEFS) $(SYM_LIST) $(TARGET)/exception.sym $(UHALLIB) \ $(TARGET)/exception.o $(TARGET)/pr_head.o -o $(TARGET)/exception.axf$(TARGET)/exception.aifbin: $(TARGET)/exception.axf $(FROMELF) $(ELFDEFS) $(TARGET)/exception.axf -aifbin $(ELF_OUTPUT) \ $(TARGET)/exception.aifbin$(TARGET)/exception.bin: $(TARGET)/exception.axf $(FROMELF) $(ELFDEFS) $(TARGET)/exception.axf -bin $(ELF_OUTPUT) \ $(TARGET)/exception.bin#************************************************************# clean up the development tree.#************************************************************$(TARGET)_clean: # clean up rm -f *~ rm -f $(TARGET)/*.o rm -f $(TARGET)/*.axf rm -f $(TARGET)/*.sym rm -f $(TARGET)/*.bin rm -f $(TARGET)/*.aifbin rm -f $(TARGET)/*.elf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -