# # Copyright (C) 2006 KPIT Cummins # Copyright (C) 2009 Conny Marco Menebröcker # All rights reserved. # # Redistribution and use in source and binary forms is permitted # provided that the above copyright notice and following paragraph are # duplicated in all such forms. # # This file is distributed WITHOUT ANY WARRANTY; without even the implied # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # DESTDIR = VPATH = @srcdir@ srcdir = @srcdir@ objdir = . srcroot = $(srcdir)/../.. objroot = $(objdir)/../.. prefix = @prefix@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ target_alias = @target_alias@ program_transform_name = @program_transform_name@ bindir = @bindir@ libdir = @libdir@ tooldir = $(exec_prefix)/$(target_alias) # Multilib support variables. # TOP is used instead of MULTI{BUILD,SRC}TOP. MULTIDIRS = MULTISUBDIR = MULTIDO = true MULTICLEAN = true INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ SHELL = /bin/sh CC = @CC@ #AS = @AS@ AS = `if [ -f ${objroot}/../gas/as.new ] ; \ then echo ${objroot}/../gas/as.new ; \ else echo as ; fi` AR = @AR@ #LD = @LD@ LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ then echo ${objroot}/../ld/ld.new ; \ else echo ld ; fi` RANLIB = @RANLIB@ OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \ then echo ${objroot}/../binutils/objdump ; \ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi` OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \ then echo ${objroot}/../binutils/objcopy ; \ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi` CRT0 = crt0.o crt0_cygmon.o crt0_redboot.o # Generic object files common to all targets. GENOBJS_NO_TRAP = close.o create.o crt0.o fstat.o getchar1.o \ isatty.o lseek.o mem-layout.o misc.o open.o putchar.o \ puts.o read.o sbrk.o syscalls.o write.o GENOBJS = ${GENOBJS_NO_TRAP} trap_handle.o # Object files specific to particular targets. EVALOBJS = ${GENOBJS} CYGMONOBJS = ${GENOBJS_NO_TRAP} CFLAGS = -g GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ then echo -L${objroot}/../gcc ; fi` SCRIPTS = @script_list@ BSP = @bsp_list@ # Host specific makefile fragment comes in here. @host_makefile_frag@ # # build a test program for each target board. Just trying to get # it to link is a good test, so we ignore all the errors for now. # all: ${CRT0} test.o ${BSP} # # here's where we build the board support packages for each target # libeval.a: $(EVALOBJS) ${AR} ${ARFLAGS} $@ $(EVALOBJS) ${RANLIB} $@ libcygmon.a: $(CYGMONOBJS) ${AR} ${ARFLAGS} $@ $(CYGMONOBJS) ${RANLIB} $@ # compile a fully linked binary. The -Wl,-T*.ld is for the linker # script. By using -Wl, the linker script is put on the proper place # in the comand line for ld, and all the symbols will get fully # resolved. test: ${CRT0} test.o ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \ test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Teval.ld @echo Done... doc: clean mostlyclean: rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x distclean maintainer-clean realclean: clean rm -f Makefile config.status a.out .PHONY: install info install-info clean-info install: @for crt in ${CRT0}; do \ $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \ done @for bsp in ${BSP}; do \ $(INSTALL_PROGRAM) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ done @for script in ${SCRIPTS}; do \ $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \ done info: install-info: clean-info: test.o: ${srcdir}/test.c # these are for the BSPs crt0.o: ${srcdir}/crt0.S crt0_cygmon.o: ${srcdir}/crt0_cygmon.S # target specific makefile fragment comes in here. @target_makefile_frag@ Makefile: Makefile.in config.status @host_makefile_frag_path@ @target_makefile_frag_path@ $(SHELL) config.status config.status: configure $(SHELL) config.status --recheck