diff options
Diffstat (limited to 'firmware/microblaze/Makefile.common')
-rw-r--r-- | firmware/microblaze/Makefile.common | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/firmware/microblaze/Makefile.common b/firmware/microblaze/Makefile.common new file mode 100644 index 000000000..4e726edab --- /dev/null +++ b/firmware/microblaze/Makefile.common @@ -0,0 +1,88 @@ +# +# Copyright 2010 Ettus Research LLC +# +# Copyright 2007 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +include $(top_srcdir)/lib/Makefile.inc + +######################################################################## +# lwIP header include dirs +######################################################################## +LWIPDIR = $(top_srcdir)/lwip/lwip-1.3.1 + +LWIP_INCLUDES = \ + -I$(top_srcdir)/lwip \ + -I$(top_srcdir)/lwip_port \ + -I$(LWIPDIR)/src/include \ + -I$(LWIPDIR)/src/include/ipv4 + +######################################################################## +# misc flags for the mb-gcc compiler +######################################################################## +MBGCC_CFLAGS = \ + --std=gnu99 -Wall -Werror-implicit-function-declaration \ + -mxl-soft-div -msoft-float -mxl-soft-mul -mxl-barrel-shift + +######################################################################## +# define for the hal io (FIXME move?) +######################################################################## +#HAL_IO = -DHAL_IO_USES_DBOARD_PINS +HAL_IO = -DHAL_IO_USES_UART + +######################################################################## +# common cflags and ldflags +######################################################################## +COMMON_CFLAGS = \ + -I$(top_srcdir)/../../host/lib/usrp \ + -I$(top_srcdir)/lib \ + $(MBGCC_CFLAGS) \ + $(LWIP_INCLUDES) \ + $(HAL_IO) + +COMMON_LFLAGS = \ + -Wl,-Map -Wl,$(@:.elf=.map) + +######################################################################## +# Common stuff for building top level microblaze images +######################################################################## +#we use COMMON_IHX_ARGS to relocate the reset and interrupt vectors to +#just below the start of code. upon creating the BIN, any leading padding +#is thrown out, so the .bin file is valid for uploading to USRP2P. this +#does not affect USRP2 because the USRP2 already starts at 0x0000, and +#because the relocate_args are not defined for USRP2's Makefile.am. +.elf.bin: + $(MB_OBJCOPY) -O binary $(RELOCATE_ARGS) $< $@ + +.elf.dump: + $(MB_OBJDUMP) -DSC $< > $@ + +.bin.rom: + $(HEXDUMP) -v -e'1/1 "%.2X\n"' $< > $@ + +.elf.ihx: + $(MB_OBJCOPY) -O ihex $(RELOCATE_ARGS) $< $@ + +_generated_from_elf = \ + $(noinst_PROGRAMS:.elf=.map) \ + $(noinst_PROGRAMS:.elf=.bin) \ + $(noinst_PROGRAMS:.elf=.dump) \ + $(noinst_PROGRAMS:.elf=.rom) \ + $(noinst_PROGRAMS:.elf=.ihx) + +noinst_DATA = $(_generated_from_elf) + +MOSTLYCLEANFILES = $(_generated_from_elf) |