| # 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 |