# # $Id$ # @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = ../../../.. subdir = score/include/rtems/score RTEMS_ROOT = @RTEMS_ROOT@ PROJECT_ROOT = @PROJECT_ROOT@ VPATH = @srcdir@ include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg include $(RTEMS_ROOT)/make/leaf.cfg INSTALL_CHANGE = @INSTALL_CHANGE@ mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs INSTALLDIRS = $(PROJECT_INCLUDE)/rtems/score $(INSTALLDIRS): @$(mkinstalldirs) $(INSTALLDIRS) # We only build multiprocessing related files if HAS_MP was defined MP_H_PIECES_yes_V = mpci mppkt objectmp threadmp MP_H_PIECES = $(MP_H_PIECES_$(HAS_MP)_V) # H_FILES that get installed in the rtems/score subdirectoy H_PIECES = address apiext bitfield chain context copyrt coremsg coremutex \ coresem heap interr isr object priority stack states sysstate thread \ threadq tod tqdata userext watchdog wkspace $(MP_H_PIECES) H_FILES = $(H_PIECES:%=$(srcdir)/%.h) TARGOPTS = targopts.h SRCS = $(H_FILES) $(TARGOPTS) RTEMS_USE_NEWLIB = @RTEMS_USE_NEWLIB@ HAS_ITRON_API = @HAS_ITRON_API@ # # Add your list of files to delete here. The config files # already know how to delete some stuff, so you may want # to just run 'make clean' first to see what gets missed. # 'make clobber' already includes 'make clean' # CLEAN_ADDITIONS += $(TARGOPTS) CLOBBER_ADDITIONS += # Until RTEMS_CPU is removed from all the make configuration files, # this will need to be here to transform hppa1.1 into hppa1_1 to # make it a valid cpp symbol. At some point in the near future, # targopts.h should not define RTEMS_CPU. As best I can tell, # gcc cpp predefines eliminate the need for RTEMS_CPU_MODEL # on some families but not on others. For example, the i386 # family does not give us enough information from the predefines. RTEMS_CPU_DEFINED = $(subst .,_,$(RTEMS_CPU)) # make the target dependent options file $(TARGOPTS): @echo "/* target board dependent options file */" >$@ @echo "/* automatically generated -- DO NOT EDIT!! */" >>$@ @echo >>$@ @echo "#ifndef __TARGET_OPTIONS_h" >>$@ @echo "#define __TARGET_OPTIONS_h" >>$@ @echo >>$@ @echo "#ifdef $(RTEMS_CPU_DEFINED)" >>$@ @echo "#undef $(RTEMS_CPU_DEFINED)" >>$@ @echo "#endif" >>$@ @echo "#define $(RTEMS_CPU_DEFINED) 1" >>$@ @echo >>$@ @echo "#ifdef $(RTEMS_CPU_MODEL)" >>$@ @echo "#undef $(RTEMS_CPU_MODEL)" >>$@ @echo "#endif" >>$@ @echo "#define $(RTEMS_CPU_MODEL) 1" >>$@ @echo >>$@ @echo "#ifdef @RTEMS_BSP@" >>$@ @echo "#undef @RTEMS_BSP@" >>$@ @echo "#endif" >>$@ @echo "#define @RTEMS_BSP@ 1" >>$@ @echo >>$@ @$(make-target-options) @if test "$(RTEMS_USE_MACROS)" = "yes"; then \ echo "#define USE_MACROS 1" >>$@; \ else \ echo "#define USE_INLINES 1" >>$@; \ fi @if test "$(HAS_MP)" = "yes"; then \ echo "#define RTEMS_MULTIPROCESSING 1" >>$@; \ fi @if test "$(HAS_POSIX_API)" = "yes"; then \ echo "#define RTEMS_POSIX_API 1" >>$@; \ fi @if test "$(HAS_ITRON_API)" = "yes"; then \ echo "#define RTEMS_ITRON_API 1" >>$@; \ fi @if test "$(RTEMS_USE_NEWLIB)" = "yes"; then \ echo "#define RTEMS_NEWLIB 1" >>$@; \ echo "#define MALLOC_PROVIDED 1" >>$@; \ fi @echo >>$@ @echo "#endif" >>$@ all: preinstall preinstall: $(INSTALLDIRS) $(H_FILES) $(TARGOPTS) @$(INSTALL_CHANGE) -m 644 $(H_FILES) $(PROJECT_INCLUDE)/rtems/score @$(INSTALL_CHANGE) -m 644 $(TARGOPTS) $(PROJECT_INCLUDE)/rtems/score Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status