# Copyright (c) 2005,2008 Red Hat Inc # # 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. # Makefile for libgloss/m32c. VPATH = @srcdir@ srcdir = @srcdir@ objdir = . srcroot = $(srcdir)/../.. objroot = $(objdir)/../.. prefix = @prefix@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ target_alias = @target_alias@ 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 = rc 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` HEADERS = varvects.h SCRIPTS = r8c.ld m16c.ld m32cm.ld m32c.ld m16cmon.ld m32cmon.ld sim8.ld sim16.ld sim24.ld CRT = crt0.o crtn.o SIM_BSP = libsim.a M32C_BSP = libm32cgloss.a LIBNOSYS = ../libnosys/libnosys.a SIM_OBJS = \ sbrk.o \ heaptop.o \ exit.o \ open.o \ close.o \ read.o \ write.o \ lseek.o \ unlink.o \ getpid.o \ kill.o \ fstat.o \ argvlen.o \ argv.o \ chdir.o \ stat.o \ chmod.o \ utime.o \ time.o \ gettimeofday.o \ times.o \ link.o \ isatty.o \ abort.o M32C_OBJS = \ varvects.o #### Host specific Makefile fragment comes in here. @host_makefile_frag@ # Override .S.o rule to pass assembler debugging flags .S.o: $(CC) -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< all: $(CRT) $(SIM_BSP) $(M32C_BSP) $(SCRIPTS) $(SIM_BSP): $(SIM_OBJS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ $(M32C_BSP): $(M32C_OBJS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ # genscript parameters: srcdir name ramstart ramsize romstart romsize vecprefix GDEP = $(srcdir)/m32c.tmpl $(srcdir)/genscript Makefile GS = $(SHELL) $(srcdir)/genscript $(srcdir) # NOTE: The simulators and monitors reserve the following locations # for themselves, so we skip them: # R8C/M16C: 0x400-0x4ff 0x0ff600-0x0ffcff # M32C: 0x400-0x4ff 0xfff600-0xfffcff r8c.ld : $(GDEP) $(GS) r8c 0x500 0x300 0xc000 0x3f24 0xff m16c.ld : $(GDEP) $(GS) m16c 0x500 0x4f00 0xc0000 0x3f600 0xfff m32cm.ld : $(GDEP) $(GS) m32cm 0x500 0x2700 0xfe0000 0x01f600 0xffff m32c.ld : $(GDEP) $(GS) m32c 0x500 0x7b00 0xf80000 0x07f600 0xffff m16cmon.ld : $(GDEP) $(GS) m16cmon 0x400 0x100 0xff600 0x800 0xfff m32cmon.ld : $(GDEP) $(GS) m32cmon 0x400 0x100 0xfff600 0x800 0xffff sim8.ld : $(GDEP) $(GS) sim8 0x500 0xf624 0 0 0xff sim16.ld : $(GDEP) $(GS) sim16 0x500 0xf700 0x20000 0x80000 0xfff sim24.ld : $(GDEP) $(GS) sim24 0x200000 0x800000 0 0 0xffff # Dependencies SDEPS = $(srcdir)/m32csys.h $(srcdir)/../syscall.h abort.o : $(SDEPS) argv.o : $(SDEPS) argvlen.o : $(SDEPS) chdir.o : $(SDEPS) chmod.o : $(SDEPS) close.o : $(SDEPS) exit.o : $(SDEPS) fstat.o : $(SDEPS) getpid.o : $(SDEPS) gettimeofday.o : $(SDEPS) heaptop.o : $(SDEPS) kill.o : $(SDEPS) link.o : $(SDEPS) lseek.o : $(SDEPS) open.o : $(SDEPS) read.o : $(SDEPS) stat.o : $(SDEPS) time.o : $(SDEPS) times.o : $(SDEPS) unlink.o : $(SDEPS) utime.o : $(SDEPS) write.o : $(SDEPS) install: $(CRT) $(SIM_BSP) $(M32C_BSP) $(SCRIPTS) for c in $(CRT) $(SIM_BSP) $(M32C_BSP); do \ $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$c ;\ done for c in $(SCRIPTS); do \ $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$c ;\ done for c in $(HEADERS); do \ $(INSTALL_DATA) ${srcdir}/$$c \ $(DESTDIR)$(tooldir)/include/$$c ;\ done clean mostlyclean: rm -f *.o *.a distclean maintainer-clean realclean: clean rm -f Makefile config.cache config.log config.status .PHONY: info dvi doc install-info clean-info info doc dvi: install-info: clean-info: Makefile: Makefile.in config.status @host_makefile_frag_path@ $(SHELL) config.status config.status: configure $(SHELL) config.status --recheck