# # 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 . # 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)