# Copyright (c) 1995, 1996, 2001 Cygnus Support -*- mode:makefile -*- # # The authors hereby grant permission to use, copy, modify, distribute, # and license this software and its documentation for any purpose, provided # that existing copyright notices are retained in all copies and that this # notice is included verbatim in any distributions. No written agreement, # license, or royalty fee is required for any of the authorized uses. # Modifications to this software may be copyrighted by their authors # and need not follow the licensing terms described here, provided that # the new terms are clearly indicated on the first page of each file where # they apply. # # csky semihosting support. # 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@ AR = @AR@ LD = @LD@ RANLIB = @RANLIB@ AR_FLAGS = qv 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` DO = @DO@ CRT0=crt0.S # # here's all the hosted stuff # HOSTED_BSP= libsemi.a HOSTED_SRS= io-semi.S HOSTED_SRC= sbrk.c io-gdb.c io-exit.c io-close.c io-fstat.c io-gettimeofday.c \ io-lseek.c io-read.c io-system.c io-unlink.c io-exit.c \ io-gdb.c io-isatty.c io-open.c io-rename.c io-stat.c \ io-time.c io-write.c kill.o getpid.o HOSTED_OBJS= $(patsubst %.c,%.o,$(HOSTED_SRC)) INCLUDES+= -I/home/xialf/workspace/newlib-2.5.0.20171222/newlib/libc/include # Host specific makefile fragment comes in here. @host_makefile_frag@ all :: $(HOSTED_BSP) # # here's where we build the board support packages for each target # # build hosted library $(HOSTED_OBJS) : %.o : %.c $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -nostdlib -DHOSTED=1 $(INCLUDES) -c $< -o $@ $(HOSTED_SRS:%.S=%.o): %.o : %.S $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -nostdlib -DHOSTED=1 $(INCLUDES) -c $< -o $@ $(HOSTED_BSP): $(HOSTED_OBJS) $(HOSTED_SRS:%.S=%.o) ${AR} ${ARFLAGS} $@ $^ ${RANLIB} $@ crt0.o: $(CRT0) $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -c $< -o $@ .PHONY: install info dvi doc install-info clean-info install:: $(DO:%=install_%) crt0.o $(INSTALL_PROGRAM) crt0.o $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(crt0.o) $(DO:%=install_%): install_hosted .PHONY:install_hosted install_hosted:: $(INSTALL_PROGRAM) $(HOSTED_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(HOSTED_BSP) # target specific makefile fragment comes in here. @target_makefile_frag@ clean mostlyclean: rm -f a.out core *.i *~ *.a *.o *-test *.srec *.dis *.x *.map distclean maintainer-clean realclean: clean rm -f Makefile config.cache config.log config.status info dvi doc: install-info: clean-info: Makefile: Makefile.in config.status @host_makefile_frag_path@ @target_makefile_frag_path@ $(SHELL) config.status config.status: configure $(SHELL) config.status --recheck