1 # Copyright (c) 1998 Cygnus Support
3 # The authors hereby grant permission to use, copy, modify, distribute,
4 # and license this software and its documentation for any purpose, provided
5 # that existing copyright notices are retained in all copies and that this
6 # notice is included verbatim in any distributions. No written agreement,
7 # license, or royalty fee is required for any of the authorized uses.
8 # Modifications to this software may be copyrighted by their authors
9 # and need not follow the licensing terms described here, provided that
10 # the new terms are clearly indicated on the first page of each file where
16 srcroot
= $(srcdir)/..
/..
17 objroot
= $(objdir
)/..
/..
20 exec_prefix = @
exec_prefix@
22 host_alias
= @host_alias@
23 target_alias
= @target_alias@
24 program_transform_name
= @program_transform_name@
28 tooldir
= $(exec_prefix)/$(target_alias
)
30 # Multilib support variables.
31 # TOP is used instead of MULTI{BUILD,SRC}TOP.
38 INSTALL_PROGRAM
= @INSTALL_PROGRAM@
39 INSTALL_DATA
= @INSTALL_DATA@
53 OBJDUMP
= `t='$(program_transform_name)'; echo objdump | sed -e $$t`
54 OBJCOPY
= `t='$(program_transform_name)'; echo objcopy | sed -e $$t`
58 access.o chdir.o chmod.o chown.o close.o conv_stat.o dirfuncs.o dup.o \
59 dup2.o exit.o fchdir.o fchmod.o fchown.o fdatasync.o fstat.o \
60 fsync.o ftruncate.o getcwd.o getpagesize.o getpid.o \
61 gettimeofday.o isatty.o kill.o lchown.o link.o lockf.o lseek.o \
62 lstat.o mkdir.o mknod.o mkstemp.o mktemp.o nanosleep.o open.o \
63 pread.o pwrite.o read.o readlink.o readv.o rmdir.o sbrk.o \
64 sched_yield.o shm_open.o shm_unlink.o stat.o symlink.o sync.o \
65 syscalls.o truncate.o umask.o unlink.o utime.o utimes.o write.o \
68 # Object files specific to particular targets.
71 GCC_LDFLAGS
= `if [ -d ${objroot}/../gcc ] ; \
72 then echo -L${objroot}/../gcc ; fi`
74 CRTOBJS
= crti.o crtn.o crt1.o crt2.o
75 OUTPUTS
= libgloss.a
$(CRTOBJS
)
77 NEWLIB_CFLAGS
= `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` -ffunction-sections
-fdata-sections
78 NEWLIB_LDFLAGS
= `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi`
80 INCLUDES
= -I.
-I
$(srcdir)/..
82 # TODO: Once libspu is installed on the system we can remove this hack
83 INCLUDES
+= -I
${srcroot}/..
/libspu
/include
85 # Note that when building the library, ${MULTILIB} is not the way multilib
86 # options are passed; they're passed in $(CFLAGS).
87 CFLAGS_FOR_TARGET
= ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS}
88 LDFLAGS_FOR_TARGET
= ${MULTILIB} ${NEWLIB_LDFLAGS}
92 $(CC
) $(CFLAGS_FOR_TARGET
) -O2
$(INCLUDES
) -c
$(CFLAGS
) $<
95 $(CC
) $(CFLAGS_FOR_TARGET
) -O2
$(INCLUDES
) -c
$(CFLAGS
) $<
97 $(AS
) $(ASFLAGS_FOR_TARGET
) $(INCLUDES
) $(ASFLAGS
) -o
$*.o
$<
100 # GCC knows to run the preprocessor on .S files before it assembles them.
103 $(CC
) $(CFLAGS_FOR_TARGET
) $(INCLUDES
) $(CFLAGS
) -c
$<
106 # this is a bogus target that'll produce an assembler from the
107 # C source with the right compiler options. this is so we can
108 # track down code generation or debug symbol bugs.
111 $(CC
) $(CFLAGS_FOR_TARGET
) -S
$(INCLUDES
) $(CFLAGS
) $<
116 # here's where we build the library for each target
119 libgloss.a
: $(EVALOBJS
)
120 ${AR} ${ARFLAGS} $@
$(EVALOBJS
)
123 # C Runtime Library startup code.
124 crti.o
: $(srcdir)/crti.S
125 $(CC
) $(srcdir)/crti.S
-c
-o crti.o
127 crtn.o
: $(srcdir)/crtn.S
128 $(CC
) $(srcdir)/crtn.S
-c
-o crtn.o
130 crt1.o
: $(srcdir)/crt0.S
131 $(CC
) $(srcdir)/crt0.S
-c
-o crt1.o
133 crt2.o
: $(srcdir)/crt0.S
134 $(CC
) $(srcdir)/crt0.S
-D_STD_MAIN
-c
-o crt2.o
139 rm -f
$(OUTPUTS
) *.i
*~
*.o
*-test *.srec
*.dis
*.map
*.x
141 distclean maintainer-clean
realclean: clean
142 rm -f Makefile config.status
$(OUTPUTS
)
144 .PHONY
: install info install-info clean-info
146 for outputs in
${OUTPUTS}; do\
147 ${INSTALL_DATA} $${outputs} $(DESTDIR
)/${tooldir}/lib
${MULTISUBDIR}/$${outputs}; \
154 Makefile
: Makefile.in config.status @host_makefile_frag_path@
155 $(SHELL
) config.status
157 config.status
: configure
158 $(SHELL
) config.status
--recheck
160 syscalls.o close.o fstat.o lseek.o open.o read.o stat.o unlink.o write.o shm_open.o shm_unlink.o
: jsre.h