# Copyright (c) 2008-2014 Red Hat, Inc. All rights reserved. # # This copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the BSD # License. This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY expressed or implied, including the implied warranties # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of this license # is available at http://www.opensource.org/licenses. Any Red Hat trademarks that # are incorporated in the source code or documentation are not subject to the BSD # License and may only be used or replicated with the express permission of # Red Hat, Inc. # Makefile for libgloss/msp430. DESTDIR = 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` SCRIPTS = $(srcdir)/msp430-sim.ld SCRIPTS += $(srcdir)/msp430xl-sim.ld SCRIPTS += $(srcdir)/intr_vectors.ld CRT = gcrt0.o crt0.o crt0-minrt.o crtn.o crtn-minrt.o SIM_BSP = libsim.a LIB_NOSYS = libnosys.a LIB_CRT = libcrt.a SIM_OBJS = syscalls.o \ cio.o \ write.o \ sbrk.o NOSYS_OBJS = ciosyscalls.o \ cio.o \ write.o \ unlink.o \ sbrk.o # Each crt_*.o is built from crt0.S using -DL*. crt0.o is built from # crt0.s with -DL0 via the default rule below. CRT_OBJS = \ crt_bss.o \ crt_high_bss.o \ crt_movedata.o \ crt_move_highdata.o \ crt_main.o \ crt_main_minrt.o \ crt_callexit.o \ crt_init.o #### Host specific Makefile fragment comes in here. @host_makefile_frag@ all: $(CRT) $(SIM_BSP) $(LIB_NOSYS) $(LIB_CRT) copy_scripts_to_objdir crt_%.o : crt0.S $(CC) -DL$* -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -o $@ crt0-minrt.o : crt0.S $(CC) -DL0 -DMINRT -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -o $@ crtn-minrt.o : crtn.S $(CC) -DL0 -DMINRT -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -o $@ # Override .S.o rule to pass assembler debugging flags .S.o: $(CC) -DL0 -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< $(SIM_BSP): $(SIM_OBJS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ $(LIB_NOSYS): $(NOSYS_OBJS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ $(LIB_CRT): $(CRT_OBJS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ copy_scripts_to_objdir: $(SCRIPTS) cp $(SCRIPTS) $(objdir) # Dependencies SDEPS = $(srcdir)/cio.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) gcrt0.o: gcrt0.S crt0.S kill.o : $(SDEPS) link.o : $(SDEPS) lseek.o : $(SDEPS) mcount.o : $(SDEPS) open.o : $(SDEPS) read.o : $(SDEPS) sigprocmask.o : $(SDEPS) sleep.o : $(SDEPS) stat.o : $(SDEPS) time.o : $(SDEPS) times.o : $(SDEPS) unlink.o : $(SDEPS) utime.o : $(SDEPS) write.o : $(SDEPS) install: $(CRT) $(SIM_BSP) $(LIB_NOSYS) $(LIB_CRT) $(SCRIPTS) mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR} for c in $(CRT) $(SIM_BSP) $(LIB_NOSYS) $(LIB_CRT); do \ $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$c ;\ done for c in $(SCRIPTS); do \ b=`basename $$c`; \ $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$b ;\ 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