Radix cross Linux Toolchains

Toolchains for all supported by Radix cross Linux devices

80 Commits   2 Branches   13 Tags
     5         kx #-------------------------------------------------------------------------
     5         kx # Source files
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx gloss_hdrs = \
     5         kx 	machine/syscall.h \
     5         kx 
     5         kx gloss_srcs = \
     5         kx 	nanosleep.c \
     5         kx 	sys_access.c \
     5         kx 	sys_chdir.c \
     5         kx 	sys_chmod.c \
     5         kx 	sys_chown.c \
     5         kx 	sys_close.c \
     5         kx 	sys_conv_stat.c \
     5         kx 	sys_execve.c \
     5         kx 	sys_exit.c \
     5         kx 	sys_faccessat.c \
     5         kx 	sys_fork.c \
     5         kx 	sys_fstatat.c \
     5         kx 	sys_fstat.c \
     5         kx 	sys_ftime.c \
     5         kx 	sys_getcwd.c \
     5         kx 	sys_getpid.c \
     5         kx 	sys_gettimeofday.c \
     5         kx 	sys_isatty.c \
     5         kx 	sys_kill.c \
     5         kx 	sys_link.c \
     5         kx 	sys_lseek.c \
     5         kx 	sys_lstat.c \
     5         kx 	sys_openat.c \
     5         kx 	sys_open.c \
     5         kx 	sys_read.c \
     5         kx 	sys_sbrk.c \
     5         kx 	sys_stat.c \
     5         kx 	sys_sysconf.c \
     5         kx 	sys_times.c \
     5         kx 	sys_unlink.c \
     5         kx 	sys_utime.c \
     5         kx 	sys_wait.c \
     5         kx 	sys_write.c 
     5         kx 
     5         kx # libsemihost reuses some of the libgloss minimal implementations
     5         kx 
     5         kx semihost_srcs = \
     5         kx 	nanosleep.c \
     5         kx 	sys_chdir.c \
     5         kx 	sys_chmod.c \
     5         kx 	sys_chown.c \
     5         kx 	sys_execve.c \
     5         kx 	sys_fork.c \
     5         kx 	sys_getcwd.c \
     5         kx 	sys_getpid.c \
     5         kx 	sys_kill.c \
     5         kx 	sys_utime.c \
     5         kx 	sys_wait.c \
     5         kx 	semihost-sys_close.c \
     5         kx 	semihost-sys_exit.c \
     5         kx 	semihost-sys_fdtable.c \
     5         kx 	semihost-sys_fstat.c \
     5         kx 	semihost-sys_ftime.c \
     5         kx 	semihost-sys_isatty.c \
     5         kx 	semihost-sys_link.c \
     5         kx 	semihost-sys_lseek.c \
     5         kx 	semihost-sys_open.c \
     5         kx 	semihost-sys_read.c \
     5         kx 	semihost-sys_sbrk.c \
     5         kx 	semihost-sys_stat.c \
     5         kx 	semihost-sys_stat_common.c \
     5         kx 	semihost-sys_unlink.c \
     5         kx 	semihost-sys_write.c
     5         kx 
     5         kx gloss_specs = \
     5         kx 	nano.specs sim.specs semihost.specs
     5         kx 
     5         kx # Extra files
     5         kx 
     5         kx crt0_asm      = crt0.S
     5         kx 
     5         kx # Multilib support variables.
     5         kx # TOP is used instead of MULTI{BUILD,SRC}TOP.
     5         kx 
     5         kx MULTIDIRS =
     5         kx MULTISUBDIR =
     5         kx MULTIDO = true
     5         kx MULTICLEAN = true
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Basic setup
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx # Remove all default implicit rules since they can cause subtle bugs
     5         kx # and they just make things run slower
     5         kx 
     5         kx .SUFFIXES:
     5         kx % : %,v
     5         kx % : RCS/%,v
     5         kx % : RCS/%
     5         kx % : s.%
     5         kx % : SCCS/s.%
     5         kx 
     5         kx # Default is to build the prereqs of the all target (defined at bottom)
     5         kx 
     5         kx default : all
     5         kx .PHONY : default
     5         kx 
     5         kx # Source directory
     5         kx 
     5         kx obj_dir := .
     5         kx src_dir := @srcdir@
     5         kx VPATH   := $(src_dir) $(src_dir)/machine
     5         kx 
     5         kx host_alias = @host_alias@
     5         kx target_alias = @target_alias@
     5         kx 
     5         kx # Installation directories
     5         kx 
     5         kx prefix  := @prefix@
     5         kx DESTDIR ?= $(prefix)
     5         kx 
     5         kx install_hdrs_dir := $(DESTDIR)$(prefix)/$(target_alias)/include/machine
     5         kx install_libs_dir  = $(DESTDIR)$(prefix)/$(target_alias)/lib${MULTISUBDIR}
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Programs and flags 
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx # C compiler
     5         kx 
     5         kx CC            := @CC@
     5         kx CFLAGS        := @CFLAGS@
     5         kx CPPFLAGS      := -I$(obj_dir) -I$(src_dir)
     5         kx COMPILE       := $(CC) -MMD -MP $(CPPFLAGS) $(CFLAGS)
     5         kx 
     5         kx # Library creation
     5         kx 
     5         kx AR            := @AR@
     5         kx RANLIB        := @RANLIB@
     5         kx 
     5         kx # Installation
     5         kx 
     5         kx INSTALL       := @INSTALL@
     5         kx INSTALL_DATA  := @INSTALL_DATA@
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Build Object Files from C Source
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx gloss_c_srcs = $(filter %.c, $(gloss_srcs))
     5         kx gloss_c_objs = $(patsubst %.c, %.o, $(notdir $(gloss_c_srcs)))
     5         kx gloss_c_deps = $(patsubst %.c, %.d, $(notdir $(gloss_c_srcs)))
     5         kx 
     5         kx $(gloss_c_objs) : %.o : %.c
     5         kx 	$(COMPILE) -c $<
     5         kx 
     5         kx gloss_objs += $(gloss_c_objs)
     5         kx deps += $(gloss_c_deps)
     5         kx junk += $(gloss_c_deps) $(gloss_c_objs)
     5         kx 
     5         kx sim_c_objs = $(patsubst %.c, sim-%.o, $(notdir $(gloss_c_srcs)))
     5         kx sim_c_deps = $(patsubst %.c, sim-%.d, $(notdir $(gloss_c_srcs)))
     5         kx 
     5         kx $(sim_c_objs): sim-%.o : %.c
     5         kx 	$(COMPILE) -c -DUSING_SIM_SPECS -o $@ $<
     5         kx 
     5         kx sim_objs += $(sim_c_objs)
     5         kx deps += $(sim_c_deps)
     5         kx junk += $(sim_c_deps) $(sim_c_objs)
     5         kx 
     5         kx semihost_c_srcs = $(filter %.c, $(semihost_srcs))
     5         kx semihost_c_objs = $(patsubst %.c, semihost-%.o, $(notdir $(semihost_c_srcs)))
     5         kx semihost_c_deps = $(patsubst %.c, semihost-%.d, $(notdir $(semihost_c_srcs)))
     5         kx 
     5         kx $(semihost_c_objs): semihost-%.o : %.c
     5         kx 	$(COMPILE) -c -o $@ $<
     5         kx 
     5         kx semihost_objs += $(semihost_c_objs)
     5         kx deps += $(semihost_c_deps)
     5         kx junk += $(semihost_c_deps) $(semihost_c_objs)
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Build Object Files from Assembly Source
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx gloss_asm_srcs = $(filter %.S, $(gloss_srcs))
     5         kx gloss_asm_objs = $(patsubst %.S, %.o, $(notdir $(gloss_asm_srcs)))
     5         kx gloss_asm_deps = $(patsubst %.S, %.d, $(notdir $(gloss_asm_srcs)))
     5         kx 
     5         kx $(gloss_asm_objs) : %.o : %.S
     5         kx 	$(COMPILE) -c -o $@ $<
     5         kx 
     5         kx gloss_objs += $(gloss_asm_objs)
     5         kx deps += $(gloss_asm_deps)
     5         kx junk += $(gloss_asm_deps) $(gloss_asm_objs)
     5         kx 
     5         kx sim_asm_objs = $(patsubst %.S, sim-%.o, $(notdir $(gloss_asm_srcs)))
     5         kx sim_asm_deps = $(patsubst %.S, sim-%.d, $(notdir $(gloss_asm_srcs)))
     5         kx 
     5         kx $(sim_asm_objs) : sim-%.o : %.S
     5         kx 	$(COMPILE) -c -DUSING_SIM_SPECS -o $@ $<
     5         kx 
     5         kx sim_objs += $(sim_asm_objs)
     5         kx deps += $(sim_asm_deps)
     5         kx junk += $(sim_asm_deps) $(sim_asm_objs)
     5         kx 
     5         kx semihost_asm_objs = $(patsubst %.S, semihost-%.o, $(notdir $(gloss_asm_srcs)))
     5         kx semihost_asm_deps = $(patsubst %.S, semihost-%.d, $(notdir $(gloss_asm_srcs)))
     5         kx 
     5         kx $(semihost_asm_objs) : semihost-%.o : %.S
     5         kx 	$(COMPILE) -c -DUSING_SEMIHOST_SPECS -o $@ $<
     5         kx 
     5         kx semihost_objs += $(semihost_asm_objs)
     5         kx deps += $(semihost_asm_deps)
     5         kx junk += $(semihost_asm_deps) $(semihost_asm_objs)
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Build libgloss.a
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx gloss_lib  = libgloss.a
     5         kx $(gloss_lib) : $(gloss_objs)
     5         kx 	$(AR) rcv $@ $^
     5         kx 	$(RANLIB) $@
     5         kx 
     5         kx junk += $(gloss_lib)
     5         kx 
     5         kx install_hdrs += $(gloss_hdrs)
     5         kx install_libs += $(gloss_lib)
     5         kx install_specs += $(gloss_specs)
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Build libsim.a
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx sim_lib  = libsim.a
     5         kx $(sim_lib) : $(sim_objs)
     5         kx 	$(AR) rcv $@ $^
     5         kx 	$(RANLIB) $@
     5         kx 
     5         kx junk += $(sim_lib)
     5         kx 
     5         kx install_libs += $(sim_lib)
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Build libsemihost.a
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx semihost_lib  = libsemihost.a
     5         kx $(semihost_lib) : $(semihost_objs)
     5         kx 	$(AR) rcv $@ $^
     5         kx 	$(RANLIB) $@
     5         kx 
     5         kx junk += $(semihost_lib)
     5         kx 
     5         kx install_libs += $(semihost_lib)
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Build crt0.o
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx crt0_obj  = $(patsubst %.S, %.o, $(crt0_asm))
     5         kx crt0_deps = $(patsubst %.S, %.d, $(crt0_asm))
     5         kx 
     5         kx $(crt0_obj) : %.o : %.S
     5         kx 	$(COMPILE) -c $<
     5         kx 
     5         kx deps += $(crt0_deps)
     5         kx junk += $(crt0_deps) $(crt0_obj)
     5         kx 
     5         kx install_libs += $(crt0_obj)
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Autodependency files
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx -include $(deps)
     5         kx 
     5         kx deps : $(deps)
     5         kx .PHONY : deps
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Installation
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx install_hdrs_wdir += $(addprefix $(src_dir)/, $(install_hdrs))
     5         kx install-hdrs : $(install_hdrs_wdir)
     5         kx 	test -d $(install_hdrs_dir) || mkdir -p $(install_hdrs_dir)
     5         kx 	for file in $^; do \
     5         kx 		$(INSTALL_DATA) $$file $(install_hdrs_dir)/; \
     5         kx 	done
     5         kx 
     5         kx install-libs : $(install_libs)
     5         kx 	test -d $(install_libs_dir) || mkdir -p $(install_libs_dir)
     5         kx 	for file in $^; do \
     5         kx 		$(INSTALL_DATA) $$file $(install_libs_dir)/$$file; \
     5         kx 	done
     5         kx 
     5         kx install-specs : $(install_specs)
     5         kx 	test -d $(install_libs_dir) || mkdir -p $(install_libs_dir)
     5         kx 	for file in $^; do \
     5         kx 		$(INSTALL_DATA) $$file $(install_libs_dir)/; \
     5         kx 	done
     5         kx 
     5         kx install : install-hdrs install-libs install-specs
     5         kx .PHONY : install install-hdrs install-libs
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Regenerate configure information
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx configure_prereq = \
     5         kx   $(src_dir)/configure.ac \
     5         kx 
     5         kx $(src_dir)/configure : $(configure_prereq)
     5         kx 	cd $(src_dir) && autoconf
     5         kx 
     5         kx config.status : $(src_dir)/configure
     5         kx 	./config.status --recheck
     5         kx 
     5         kx Makefile : $(src_dir)/Makefile.in config.status
     5         kx 	./config.status
     5         kx 
     5         kx dist_junk += config.status Makefile config.log
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Default
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx all : $(install_libs)
     5         kx .PHONY : all
     5         kx 
     5         kx #-------------------------------------------------------------------------
     5         kx # Clean up junk
     5         kx #-------------------------------------------------------------------------
     5         kx 
     5         kx clean :
     5         kx 	rm -rf *~ \#* $(junk)
     5         kx 
     5         kx distclean :
     5         kx 	rm -rf *~ \#* $(junk) $(dist_junk)
     5         kx 
     5         kx .PHONY : clean distclean