1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # Copyright (c) 2009 Openmoko 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/>.
- # +++START_UPDATE_MAKEFILE: Start of auto included code
- # The text between the +++ and --- tags is copied by the
- # UpdateMakefiles script. Do not remove or change these tags.
- # ---
- # Autodetect root directory
- define FIND_ROOT_DIR
- while : ; do \
- d=$$(pwd) ; \
- [ -d "$${d}/samo-lib" ] && echo $${d} && exit 0 ; \
- [ X"/" = X"$${d}" ] && echo ROOT_DIRECTORY_NOT_FOUND && exit 1 ; \
- cd .. ; \
- done
- endef
- ROOT_DIR := $(shell ${FIND_ROOT_DIR})
- # Directory of Makefile includes
- MK_DIR := ${ROOT_DIR}/samo-lib/Mk
- # Include the initial Makefile setup
- include ${MK_DIR}/definitions.mk
- # ---END_UPDATE_MAKEFILE: End of auto included code
- LDFLAGS = -static --strip-all -s --no-gc-sections -N -L${MINI_LIBC}
- OBJCOPY_FLAGS = -I elf32-c33 -O binary
- CFLAGS += -I${SAMO_LIB_INCLUDE} -I${MINI_LIBC_INCLUDE}
- TARGETS = jackknife jakebrake
- all: $(TARGETS)
- jackknife.elf: jackknife.o
- $(GCC) -o $@ $(LDFLAGS) $< -Wl,'-Ttext=0'
- jakebrake.elf: jakebrake.o
- $(GCC) -o $@ $(LDFLAGS) -DPROGRAM_TEST_JIG=1 $< -Wl,'-Ttext=0'
- jackknife: jackknife.elf
- $(OBJCOPY) $(OBJCOPY_FLAGS) --only-section=.text --set-start=0 $< $@
- @c=$$(wc --bytes < "$@") ; \
- echo mbr size = $${c} bytes, max = 512 bytes ; \
- if [ "$${c}" -gt 512 ]; then $(RM) "$@"; exit 99; fi
- jakebrake: jakebrake.elf
- $(OBJCOPY) $(OBJCOPY_FLAGS) --only-section=.text --set-start=0 $< $@
- @c=$$(wc --bytes < "$@") ; \
- echo mbr size = $${c} bytes, max = 512 bytes ; \
- if [ "$${c}" -gt 512 ]; then $(RM) "$@"; exit 99; fi
- clean:
- rm -fr $(TARGETS) *.o *.elf *.bin *.d *.p *.asm33
- include ${MK_DIR}/rules.mk
|