summaryrefslogblamecommitdiffstats
path: root/make/leaf.cfg
blob: 569809ec640bc7291590d759f2d41c8c4b0f4329 (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                                   
 
                                                        
                                                                    




                                    



                                       

                                                          
                                                                            
                    



                                                                         
               


                                          
      
                                                                 
     

 
                                                              



                                                                    

                       
 
                                      

 
                                                         




                                        
 


                          
                                   



                                                                              


                                                         
 

                                                               
 
               

                         

                       

                              



                              
     







                                                    
                                                            



                                                           
                                                             







                                                           
                    



                                                      
     









                       
#
#  $Id$
#
# make/leaf.cfg
#
#   Make(1) configuration file include'd by all leaf-node Makefiles
#

#
# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and
#   convert our ${ARCH} back into .a or _g.a or _p.a based on debug.
#   Useful for installing libraries.
#

LIBSUFFIX_OPTIMIZE_V=
LIBSUFFIX_DEBUG_V=_g

LIB_VARIANT=$(LIBSUFFIX_$(VARIANT_V)_V)
LIBSUFFIX_VA = $(LIB_VARIANT).a

# Pull in the desired "target" compiler
# Programs built on the host use automake generated rules.
# This will not change $(ARCH) -- binaries will still be place as per target
include ${CONFIG.CC}
ifeq (${DEPEND},$(wildcard ${DEPEND}))
include ${DEPEND}		     # pull in dependencies if they exist
endif

ifndef AUTOMAKE
#
# Builtin targets for compilation variants
#
debug:
	$(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) VARIANT=DEBUG
endif

#
# VARIANT_VA will convert our ${ARCH} back into "" or "debug".
#   Handy when one makefile wants to hop over into a peer's tree and
#   build something "the same" way.
#

VARIANT-OPTIMIZE-v =
VARIANT-DEBUG-v = debug

VARIANT_VA = $(VARIANT-$(VARIANT_V)-v)

#
# TARGET_VA will convert $@ (expected to be 'debug' etc.)
#   into "" or "install" as appropriate.
#   Used for variant recursion.
#

TARGET_debug_V = all

TARGET_VA = $(TARGET_$@_V)

#
# Builtin clean and distclean rules
# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS
# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc.
#

clean-am: clean-generic
	-$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND)
	-$(RM) -r $(VARIANTS)

distclean-am: distclean-generic clean-am
	-$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)

ifndef AUTOMAKE
preinstall-am:
preinstall: preinstall-am

distclean: distclean-am
	-$(RM) ./config.status

clean: clean-am

.PHONY: distclean distclean-am
.PHONY: clean clean-am
endif

## what to do about $(EXEEXT) --> $(EXEEXT)
##    -o $(basename $@)$(EXEEXT)             OR
##    -o $(basename $@)$(EXEEXT)                  OR

DOWNEXT=.ralf

define bsp-link-c
	$(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
	    -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS)
endef

define bsp-link-cxx
	$(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
	    -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS)
endef

define default-bsp-post-link
	$(NM) -g -n $@ > $(basename $@).num
	$(SIZE) $@
endef

ifndef bsp-post-link
define bsp-post-link
	$(default-bsp-post-link)
	cp $(basename $@).exe $(basename $@)$(DOWNEXT)
endef
endif

define make-exe
       $(bsp-link-c)
       $(bsp-post-link)
endef

define make-cxx-exe
       $(bsp-link-cxx)
       $(bsp-post-link)
endef