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

📄 common.make

📁 HAL硬件抽象层源码
💻 MAKE
字号:
#
# Copyright (C) ARM Limited 1998. All rights reserved.
# common.makefile for the uHAL library.
# board.in describes the board, everything else is generic.
#
#************************************************************
#  Common makefile stuff for the ARM uHAL library.
#************************************************************
#************************************************************
#  Globally defined things.
#************************************************************
LIBOBJECTS	= $(TARGET)/boot.o $(TARGET)/external.o $(TARGET)/iolib.o \
		$(TARGET)/led.o $(TARGET)/timer.o $(TARGET)/crt.o \
		$(TARGET)/irq.o $(TARGET)/irqtrap.o $(TARGET)/irqlib.o \
		$(TARGET)/mmu.o $(TARGET)/cache.o $(TARGET)/divide.o \
		$(TARGET)/cpumode.o $(TARGET)/control.o $(TARGET)/pci.o \
		$(TARGET)/board.o $(TARGET)/driver.o $(TARGET)/memmap.o \
		$(TARGET)/heap.o

#************************************************************
#  uHAL code.
#************************************************************
#------------------------------------------------------------
#  Common Platform Specific Objects.
#------------------------------------------------------------

$(TARGET)/board.o:	$(UHALBOARDDIR)/board.c $(UHAL_INCLUDE_FILES) $(UHALBOARDDIR)/platform.h
		$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o

$(TARGET)/driver.o:	$(UHALBOARDDIR)/driver.s $(UHALBOARDDIR)/target.s
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/memmap.o:	$(UHALBOARDDIR)/memmap.s $(UHALBOARDDIR)/target.s
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(UHALBOARDDIR)/platform.h:	$(UHALBOARDDIR)/platform.s
	rm -f $(UHALBOARDDIR)/platform.h
	awk -f $(UHALTOOLDIR)/s2h.awk $(UHALBOARDDIR)/platform.s > $(UHALBOARDDIR)/platform.h

$(UHALPROCESSORDIR)/mmu_h.h: $(UHALPROCESSORDIR)/mmu_h.s
	rm -f $(UHALPROCESSORDIR)/mmu_h.h
	awk -f $(UHALTOOLDIR)/s2h.awk $(UHALPROCESSORDIR)/mmu_h.s > $(UHALPROCESSORDIR)/mmu_h.h

#------------------------------------------------------------
#  common code.      
#------------------------------------------------------------

$(TARGET)/heap.o:	$(UHALLIBDIR)heap.c $(UHAL_INCLUDE_FILES) \
			$(UHALINCLUDEDIR)/except_h.h $(UHALINCLUDEDIR)/uart.h
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o

$(TARGET)/iolib.o:	$(UHALLIBDIR)iolib.c $(UHAL_INCLUDE_FILES) \
			$(UHALINCLUDEDIR)/except_h.h $(UHALINCLUDEDIR)/uart.h
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o

$(TARGET)/timer.o:	$(UHALLIBDIR)timer.c $(UHAL_INCLUDE_FILES)
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o
	
$(TARGET)/irq.o:	$(UHALLIBDIR)irq.c $(UHAL_INCLUDE_FILES) 
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o
	
$(TARGET)/cache.o:	$(UHALPROCESSORDIR)/cache.c $(UHAL_INCLUDE_FILES) $(UHALPROCESSORDIR)/mmu_h.h
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o
	
$(TARGET)/led.o:	$(UHALLIBDIR)led.c $(UHAL_INCLUDE_FILES) 
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o
	
$(TARGET)/crt.o: $(UHALLIBDIR)crt.c $(UHAL_INCLUDE_FILES) 
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o

$(TARGET)/pci.o: $(UHALLIBDIR)pci.c $(UHAL_INCLUDE_FILES)
	$(ARMCC) $(CDEFS) -c $(INCL) $(PROC_TYPE) $< -o $*.o

$(TARGET)/control.o:	$(UHALPROCESSORDIR)/control.s $(UHAL_INCLUDE_FILES)
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/irqtrap.o: $(UHALLIBDIR)irqtrap.s $(UHALPROCESSORDIR)/mmumacro.s $(UHAL_INCLUDE_FILES) \
	$(UHALINCLUDEDIR)/except_h.s
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/cpumode.o:	$(UHALLIBDIR)cpumode.s $(SYSTEM_INCLUDE_FILES)
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/irqlib.o:	$(UHALLIBDIR)irqlib.s $(UHAL_INCLUDE_FILES) $(UHALPROCESSORDIR)/mmu_h.s\
	$(UHALINCLUDEDIR)/except_h.s $(UHALPROCESSORDIR)/mmumacro.s
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/mmu.o:	$(UHALPROCESSORDIR)/mmu.s $(UHALPROCESSORDIR)/mmumacro.s $(UHAL_INCLUDE_FILES)
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/divide.o:	$(UHALLIBDIR)divide.s
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/boot.o:	$(UHALLIBDIR)boot.s $(UHAL_INCLUDE_FILES) $(UHALINCLUDEDIR)/linkdata.s \
	$(UHALINCLUDEDIR)/except_h.s $(UHALBOARDDIR)/target.s 
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(TARGET)/external.o:	$(UHALLIBDIR)external.s $(UHAL_INCLUDE_FILES) $(UHALINCLUDEDIR)/linkdata.s \
	$(UHALINCLUDEDIR)/except_h.s $(UHALBOARDDIR)/target.s
	$(ARMASM) $(ADEFS) $(INCL) $< -arch 4 -o $*.o

$(UHALINCLUDEDIR)/except_h.h:	$(UHALINCLUDEDIR)/except_h.s
	rm -f $(UHALINCLUDEDIR)/except_h.h
	awk -f $(UHALTOOLDIR)/s2h.awk $(UHALINCLUDEDIR)/except_h.s > $(UHALINCLUDEDIR)/except_h.h

$(UHALINCLUDEDIR)/sizes.h:	$(UHALINCLUDEDIR)/sizes.s
	rm -f $(UHALINCLUDEDIR)/sizes.h
	awk -f $(UHALTOOLDIR)/s2h.awk $(UHALINCLUDEDIR)/sizes.s > $(UHALINCLUDEDIR)/sizes.h

$(UHALINCLUDEDIR)/bits.h:	$(UHALINCLUDEDIR)/bits.s
	rm -f $(UHALINCLUDEDIR)/bits.h
	awk -f $(UHALTOOLDIR)/s2h.awk $(UHALINCLUDEDIR)/bits.s > $(UHALINCLUDEDIR)/bits.h

#************************************************************
# uHAL library (DEMON, SEMIHOSTED and STANDALONE variants)
#************************************************************
ifeq ($(ADS_BUILD),1)
$(TARGET)/uHALlibrary.$(LIB_EXT):	$(SPECIFICOBJECTS) $(LIBOBJECTS)
	$(AR) $(AR_OPTS) $(UHALLIB) $(SPECIFICOBJECTS) $(LIBOBJECTS) 
else
$(TARGET)/uHALlibrary.$(LIB_EXT):	$(SPECIFICOBJECTS) $(LIBOBJECTS)
	$(AR) $(AR_OPTS) $(UHALLIB) $(SPECIFICOBJECTS) $(LIBOBJECTS) 
endif

#************************************************************
# uHAL library (DEMON, SEMIHOSTED and STANDALONE variants)
#************************************************************
$(TARGET)_all:	$(TARGET)/uHALlibrary.$(LIB_EXT)

#************************************************************
#  clean up the development tree.
#************************************************************
$(TARGET)_clean: 
	rm -f $(TARGET)/*.bin
	rm -f $(TARGET)/*.$(LIB_EXT) 
	rm -f $(TARGET)/*~
	rm -f *~
	rm -f $(LIBOBJECTS)
	rm -f $(SPECIFICOBJECTS)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -