123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- # $Id: Makefile,v 1.8 2004/01/07 21:16:18 johana Exp $
- # Makefile to generate or copy the latest register definitions
- # and related datastructures and helpermacros.
- # The offical place for these files is at:
- RELEASE ?= r1_alfa5
- OFFICIAL_INCDIR = /n/asic/projects/guinness/releases/$(RELEASE)/design/top/sw/include/
- # which is updated on each new release.
- INCL_ASMFILES =
- INCL_FILES = ata_defs.h
- INCL_FILES += bif_core_defs.h
- INCL_ASMFILES += bif_core_defs_asm.h
- INCL_FILES += bif_slave_defs.h
- #INCL_FILES += bif_slave_ext_defs.h
- INCL_FILES += config_defs.h
- INCL_ASMFILES += config_defs_asm.h
- INCL_FILES += cpu_vect.h
- #INCL_FILES += cris_defs.h
- #INCL_FILES += cris_supp_reg.h # In handcrafted supp_reg.h
- INCL_FILES += dma.h
- INCL_FILES += dma_defs.h
- INCL_FILES += eth_defs.h
- INCL_FILES += extmem_defs.h
- INCL_FILES += gio_defs.h
- INCL_ASMFILES += gio_defs_asm.h
- INCL_FILES += intr_vect.h
- INCL_FILES += intr_vect_defs.h
- INCL_ASMFILES += intr_vect_defs_asm.h
- INCL_FILES += marb_bp_defs.h
- INCL_FILES += marb_defs.h
- INCL_ASMFILES += mmu_defs_asm.h
- #INCL_FILES += mmu_supp_reg.h # In handcrafted supp_reg.h
- #INCL_FILES += par_defs.h # No useful content
- INCL_FILES += pinmux_defs.h
- INCL_FILES += reg_map.h
- INCL_ASMFILES += reg_map_asm.h
- INCL_FILES += reg_rdwr.h
- INCL_FILES += ser_defs.h
- #INCL_FILES += spec_reg.h # In handcrafted supp_reg.h
- INCL_FILES += sser_defs.h
- INCL_FILES += strcop_defs.h
- #INCL_FILES += strcop.h # Where is this?
- INCL_FILES += strmux_defs.h
- #INCL_FILES += supp_reg.h # Handcrafted instead
- INCL_FILES += timer_defs.h
- REGDESC =
- REGDESC += $(BASEDIR)/io/ata/rtl/ata_regs.r
- REGDESC += $(BASEDIR)/io/bif/rtl/bif_core_regs.r
- REGDESC += $(BASEDIR)/io/bif/rtl/bif_slave_regs.r
- #REGDESC += $(BASEDIR)/io/bif/sw/bif_slave_ext_regs.r
- REGDESC += $(DESIGNDIR)/top/rtl/config_regs.r
- REGDESC += $(BASEDIR)/mod/dma_common/rtl/dma_regdes.r
- REGDESC += $(BASEDIR)/io/eth/rtl/eth_regs.r
- REGDESC += $(BASEDIR)/io/bif/mod/extmem/extmem_regs.r
- REGDESC += $(DESIGNDIR)/gio/rtl/gio_regs.r
- REGDESC += $(BASEDIR)/core/cpu/intr_vect/rtl/guinness/ivmask.config.r
- REGDESC += $(BASEDIR)/core/memarb/rtl/guinness/marb_top.r
- REGDESC += $(BASEDIR)/core/cpu/mmu/doc/mmu_regs.r
- #REGDESC += $(BASEDIR)/io/par_port/rtl/par_regs.r
- REGDESC += $(BASEDIR)/io/pinmux/rtl/guinness/pinmux_regs.r
- REGDESC += $(BASEDIR)/io/ser/rtl/ser_regs.r
- REGDESC += $(BASEDIR)/core/strcop/rtl/strcop_regs.r
- REGDESC += $(BASEDIR)/io/strmux/rtl/guinness/strmux_regs.r
- REGDESC += $(BASEDIR)/io/timer/rtl/timer_regs.r
- #REGDESC += $(BASEDIR)/io/usb/usb1_1/rtl/usb_regs.r
- BASEDIR = /n/asic/design
- DESIGNDIR = /n/asic/projects/guinness/design
- RDES2C = /n/asic/bin/rdes2c
- RDES2C = /n/asic/design/tools/rdesc/rdes2c
- RDES2INTR = /n/asic/design/tools/rdesc/rdes2intr
- RDES2TXT = /n/asic/design/tools/rdesc/rdes2txt
- ## all - Just print help - you probably want to do 'make gen'
- all: help
- # Disable implicit rule that may generate deleted files from RCS/ directory.
- %.r:
- %.h:
- ## help - This help
- help:
- @grep '^## ' Makefile
- ## gen - Generate include files
- gen: $(INCL_FILES) $(INCL_ASMFILES)
- ata_defs.h: $(BASEDIR)/io/ata/rtl/ata_regs.r
- $(RDES2C) $<
- config_defs.h: $(DESIGNDIR)/top/rtl/config_regs.r
- $(RDES2C) $<
- config_defs_asm.h: $(DESIGNDIR)/top/rtl/config_regs.r
- $(RDES2C) -asm $<
- # Can't generate cpu_vect.h yet
- #cpu_vect.h: $(DESIGNDIR)/top/rtl/cpu_vect.r # ????
- # $(RDES2INTR) $<
- cpu_vect.h: $(OFFICIAL_INCDIR)cpu_vect.h
- cat $< | sed -e 's/\$$Id\:/id\:/g' >$@
- dma_defs.h: $(BASEDIR)/core/dma/rtl/common/dma_regdes.r
- $(RDES2C) $<
- $(BASEDIR)/core/dma/sw/dma.h:
- dma.h: $(BASEDIR)/core/dma/sw/dma.h
- cat $< | sed -e 's/\$$Id\:/id\:/g' >$@
- eth_defs.h: $(BASEDIR)/io/eth/rtl/eth_regs.r
- $(RDES2C) $<
- extmem_defs.h: $(BASEDIR)/io/bif/mod/extmem/extmem_regs.r
- $(RDES2C) $<
- gio_defs.h: $(DESIGNDIR)/gio/rtl/gio_regs.r
- $(RDES2C) $<
- intr_vect_defs.h: $(BASEDIR)/core/cpu/intr_vect/rtl/guinness/ivmask.config.r
- $(RDES2C) $<
- intr_vect_defs_asm.h: $(BASEDIR)/core/cpu/intr_vect/rtl/guinness/ivmask.config.r
- $(RDES2C) -asm $<
- # Can't generate intr_vect.h yet
- #intr_vect.h: $(BASEDIR)/core/cpu/intr_vect/rtl/guinness/ivmask.config.r
- # $(RDES2INTR) $<
- intr_vect.h: $(OFFICIAL_INCDIR)intr_vect.h
- cat $< | sed -e 's/\$$Id\:/id\:/g' >$@
- mmu_defs_asm.h: $(BASEDIR)/core/cpu/mmu/doc/mmu_regs.r
- $(RDES2C) -asm $<
- par_defs.h: $(BASEDIR)/io/par_port/rtl/par_regs.r
- $(RDES2C) $<
- # From /n/asic/projects/guinness/design/
- reg_map.h: $(DESIGNDIR)/top/rtl/global.rmap $(DESIGNDIR)/top/mod/modreg.rmap
- $(RDES2C) -base 0xb0000000 $^
- reg_map_asm.h: $(DESIGNDIR)/top/rtl/global.rmap $(DESIGNDIR)/top/mod/modreg.rmap
- $(RDES2C) -base 0xb0000000 -asm -outfile $@ $^
- reg_rdwr.h: $(DESIGNDIR)/top/sw/include/reg_rdwr.h
- cat $< | sed -e 's/\$$Id\:/id\:/g' >$@
- ser_defs.h: $(BASEDIR)/io/ser/rtl/ser_regs.r
- $(RDES2C) $<
- strcop_defs.h: $(BASEDIR)/core/strcop/rtl/strcop_regs.r
- $(RDES2C) $<
- strcop.h: $(BASEDIR)/core/strcop/rtl/strcop.h
- cat $< | sed -e 's/\$$Id\:/id\:/g' >$@
- strmux_defs.h: $(BASEDIR)/io/strmux/rtl/guinness/strmux_regs.r
- $(RDES2C) $<
- timer_defs.h: $(BASEDIR)/io/timer/rtl/timer_regs.r
- $(RDES2C) $<
- usb_defs.h: $(BASEDIR)/io/usb/usb1_1/rtl/usb_regs.r
- $(RDES2C) $<
- ## copy - Copy files from official location
- copy:
- @for HFILE in $(INCL_FILES); do \
- echo " $$HFILE"; \
- cat $(OFFICIAL_INCDIR)$$HFILE | sed -e 's/\$$Id\:/id\:/g' > $$HFILE; \
- done
- @for HFILE in $(INCL_ASMFILES); do \
- echo " $$HFILE"; \
- cat $(OFFICIAL_INCDIR)asm/$$HFILE | sed -e 's/\$$Id\:/id\:/g' > $$HFILE; \
- done
- ## ls_official - List official location
- ls_official:
- (cd $(OFFICIAL_INCDIR); ls -l *.h )
- ## diff_official - Diff current directory with official location
- diff_official:
- diff . $(OFFICIAL_INCDIR)
- ## doc - Generate .axw files from register description.
- doc: $(REGDESC)
- for RDES in $^; do \
- $(RDES2TXT) $$RDES; \
- done
- .PHONY: axw
- ## %.axw - Generate the specified .axw file (doesn't work for all files
- ## due to inconsistent naming ir .r files.
- %.axw: axw
- @for RDES in $(REGDESC); do \
- if echo "$$RDES" | grep $* ; then \
- $(RDES2TXT) $$RDES; \
- fi \
- done
- .PHONY: clean
- ## clean - Remove .h files and .axw files.
- clean:
- rm -rf $(INCL_FILES) *.axw
|