180 lines
4.2 KiB
Makefile
180 lines
4.2 KiB
Makefile
# 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
|
|
SIM_BSP = libsim.a
|
|
LIB_NOSYS = libnosys.a
|
|
LIB_CRT = libcrt.a
|
|
|
|
SIM_OBJS = syscalls.o \
|
|
cio.o \
|
|
write.o \
|
|
unlink.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_callexit.o \
|
|
crt_run_init_array.o \
|
|
crt_run_preinit_array.o \
|
|
crt_run_fini_array.o \
|
|
crt_run_array.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 $@
|
|
|
|
# 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
|