⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.make

📁 arm单片机的ucos2移植
💻 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 
#

ifeq ($(ADS_BUILD),1)
	ADEFS := $(ADEFS)
else
	ADEFS := $(ADEFS) -apcs 3/32bit
endif

CDEFS := $(CDEFS)

SOURCES = ../../Sources
INCLUDEFILES = $(UHAL_INCLUDE_FILES) 
INCL := $(INCL) -I$(SOURCES)/ -I.

$(TARGET)_all:	$(TARGET)/bubble.axf \
		$(TARGET)/hello.axf $(TARGET)/sieve.axf \
		$(TARGET)/queens.axf \
		$(TARGET)/heap.axf $(TARGET)/led.axf \
		$(TARGET)/system-timer.axf $(TARGET)/io.axf \
		$(TARGET)/simple-caches.axf \
		$(TARGET)/bubble.aifbin \
		$(TARGET)/hello.aifbin $(TARGET)/sieve.aifbin \
		$(TARGET)/queens.aifbin \
		$(TARGET)/heap.aifbin $(TARGET)/led.aifbin \
		$(TARGET)/system-timer.aifbin $(TARGET)/io.aifbin \
		$(TARGET)/simple-caches.aifbin \
		$(TARGET)/bubble.bin \
		$(TARGET)/hello.bin $(TARGET)/sieve.bin \
		$(TARGET)/queens.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) $(CDEFS) -c $(INCL) $< -o $*.o

#************************************************************
# Initialisation stuff
#************************************************************
$(TARGET)/target.o :	$(SOURCES)/target.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CDEFS) -c $(INCL) $< -o $*.o

#************************************************************
# Interrupt test program
#************************************************************

$(TARGET)/tick.o	: $(SOURCES)/tick.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/tick.axf:	$(TARGET)/tick.o $(TARGET)/pr_head.o $(UHALLIB)
	$(ARMLINK) $(LDEFS) $(SYM_LIST) $(TARGET)/tick.sym $(UHALLIB) \
		$(TARGET)/tick.o $(TARGET)/pr_head.o -o $(TARGET)/tick.axf

$(TARGET)/tick.aifbin:	$(TARGET)/tick.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/tick.axf -aifbin $(TARGET)/tick.aifbin

$(TARGET)/tick.bin:	$(TARGET)/tick.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/tick.axf -bin $(TARGET)/tick.bin

#************************************************************
# Hello world program.
#************************************************************
$(TARGET)/hello.o	: $(SOURCES)/hello.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/hello.axf:	$(TARGET)/hello.o $(TARGET)/pr_head.o $(UHALLIB)
	$(ARMLINK) $(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 $(TARGET)/hello.aifbin

$(TARGET)/hello.bin:	$(TARGET)/hello.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/hello.axf -bin $(TARGET)/hello.bin

#************************************************************
# LED flashing program
#************************************************************
$(TARGET)/led.o	: $(SOURCES)/led.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL) $(CDEFS) -c $(INCL) $< -o $*.o

ifeq ($(TARGET),semihosted)
LEDOBJS=$(TARGET)/led.o $(TARGET)/pr_head.o
else
LEDOBJS=$(TARGET)/led.o
endif

$(TARGET)/led.axf:	$(LEDOBJS) $(UHALLIB)
	$(ARMLINK) $(LDEFS) $(SYM_LIST) $(TARGET)/led.sym $(UHALLIB) $(LEDOBJS) \
		-o $(TARGET)/led.axf

$(TARGET)/led.aifbin:	$(TARGET)/led.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/led.axf -aifbin $(TARGET)/led.aifbin

$(TARGET)/led.bin:	$(TARGET)/led.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/led.axf -bin $(TARGET)/led.bin

#************************************************************
# IO routines
#************************************************************
$(TARGET)/io.o	: $(SOURCES)/io.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/io.axf:	$(TARGET)/io.o $(TARGET)/pr_head.o $(UHALLIB)
	$(ARMLINK) $(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 $(TARGET)/io.aifbin

$(TARGET)/io.bin:	$(TARGET)/io.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/io.axf -bin $(TARGET)/io.bin

#************************************************************
# Cache routines
#************************************************************
$(TARGET)/simple-caches.o	: $(SOURCES)/simple-caches.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/simple-caches.axf:	\
		$(TARGET)/simple-caches.o $(TARGET)/pr_head.o $(UHALLIB)
	$(ARMLINK) $(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 $(TARGET)/simple-caches.aifbin

$(TARGET)/simple-caches.bin:	$(TARGET)/simple-caches.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/simple-caches.axf -bin $(TARGET)/simple-caches.bin

#************************************************************
# Heap allocator/deallocator
#************************************************************
$(TARGET)/heap.o	: $(SOURCES)/heap.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/heap.axf:	$(TARGET)/heap.o $(TARGET)/pr_head.o $(UHALLIB)
	$(ARMLINK) $(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 $(TARGET)/heap.aifbin

$(TARGET)/heap.bin:	$(TARGET)/heap.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/heap.axf -bin $(TARGET)/heap.bin

#************************************************************
# System-Timer example program
#************************************************************
$(TARGET)/system-timer.o	: $(SOURCES)/system-timer.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/system-timer.axf:	$(TARGET)/system-timer.o $(TARGET)/pr_head.o $(UHALLIB)
	$(ARMLINK) $(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 $(TARGET)/system-timer.aifbin

$(TARGET)/system-timer.bin:	$(TARGET)/system-timer.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/system-timer.axf -bin $(TARGET)/system-timer.bin

#************************************************************
# Test harness to test programs under different mmu regimes.
#************************************************************
$(TARGET)/test.o	: $(SOURCES)/test.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL) $(CDEFS) -c $(INCL) $< -o $*.o

#************************************************************
# The tests themselves.
#************************************************************
#------------------------------------------------------------
# Bubble test.
#------------------------------------------------------------
$(TARGET)/bubble.o:	$(SOURCES)/bubble.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/bubble.axf:	$(TARGET)/test.o $(TARGET)/target.o $(TARGET)/bubble.o \
		$(UHALLIB) $(TARGET)/pr_head.o
	$(ARMLINK) $(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 $(TARGET)/bubble.aifbin

$(TARGET)/bubble.bin:	$(TARGET)/bubble.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/bubble.axf -bin $(TARGET)/bubble.bin

#------------------------------------------------------------
# Sieve test.
#------------------------------------------------------------
$(TARGET)/sieve.o:	$(SOURCES)/sieve.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/sieve.axf:	$(TARGET)/test.o $(TARGET)/target.o $(TARGET)/sieve.o \
      		$(TARGET)/pr_head.o $(UHALLIB) 
	$(ARMLINK) $(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 $(TARGET)/sieve.aifbin

$(TARGET)/sieve.bin:	$(TARGET)/sieve.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/sieve.axf -bin $(TARGET)/sieve.bin

#------------------------------------------------------------
# Sieve 500 test.
#------------------------------------------------------------
$(TARGET)/sieve500.o:	$(SOURCES)/sieve500.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CFL)  $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/sieve500.axf:	\
		$(TARGET)/test.o $(TARGET)/target.o $(TARGET)/sieve500.o \
       		$(TARGET)/pr_head.o $(UHALLIB) 
	$(ARMLINK) $(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 $(TARGET)/sieve500.aifbin

$(TARGET)/sieve500.bin:	$(TARGET)/sieve500.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/sieve500.axf -bin $(TARGET)/sieve500.bin

#------------------------------------------------------------
# Queens test.
#------------------------------------------------------------
$(TARGET)/queens.o:	$(SOURCES)/queens.c $(SYSTEM_INCLUDE_FILES)
	$(ARMCC) $(CDEFS) -c $(INCL) $< -o $*.o

$(TARGET)/queens.axf: \
		$(TARGET)/test.o $(TARGET)/target.o $(TARGET)/queens.o \
	       	$(TARGET)/pr_head.o $(UHALLIB) 	
	$(ARMLINK) $(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 $(TARGET)/queens.aifbin

$(TARGET)/queens.bin:	$(TARGET)/queens.axf
	$(FROMELF) $(ELFDEFS) $(TARGET)/queens.axf -bin $(TARGET)/queens.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 + -