Edit

openbios/openboot/tools/promif/Makefile

Branch :

  • Show log

    Commit

  • Author : Stefan Reinauer
    Date : 2010-08-25 09:23:17
    Hash : 1a08f436
    Message : change to well-formed svn directory structure. git-svn-id: svn://coreboot.org/openboot/trunk@2 4486e004-3823-0410-90c7-fb508cc143bb

  • tools/promif/Makefile
  • # ========== Copyright Header Begin ==========================================
    # 
    # Hypervisor Software File: Makefile
    # 
    # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
    # 
    #  - Do no alter or remove copyright notices
    # 
    #  - Redistribution and use of this software in source and binary forms, with 
    #    or without modification, are permitted provided that the following 
    #    conditions are met: 
    # 
    #  - Redistribution of source code must retain the above copyright notice, 
    #    this list of conditions and the following disclaimer.
    # 
    #  - Redistribution in binary form must reproduce the above copyright notice,
    #    this list of conditions and the following disclaimer in the
    #    documentation and/or other materials provided with the distribution. 
    # 
    #    Neither the name of Sun Microsystems, Inc. or the names of contributors 
    # may be used to endorse or promote products derived from this software 
    # without specific prior written permission. 
    # 
    #     This software is provided "AS IS," without a warranty of any kind. 
    # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 
    # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 
    # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 
    # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 
    # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 
    # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 
    # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 
    # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 
    # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 
    # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 
    # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    # 
    # You acknowledge that this software is not designed, licensed or
    # intended for use in the design, construction, operation or maintenance of
    # any nuclear facility. 
    # 
    # ========== Copyright Header End ============================================
    # id: @(#)Makefile 1.2 04/08/17 
    # purpose:
    # copyright: Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved
    # copyright: Use is subject to license terms.
    
    ROOT		=	../..
    
    include	${ROOT}/default.mk
    
    INSTALLDIR      =	${ROOT}/lib
    TARGET          =	libsa.a
    TARGETDIR       =	${INSTALLDIR}/
    PROMIF		=	${ROOT}/tools/promif
    
    CC32    	=	${CC5}
    CFLAGS32	=	
    
    CC64    	=	${CC5}
    CFLAGS64	=	-xarch=v9
    
    ASFLAGS32      	= 	-I/usr/include -I/usr/include/v9
    
    ASFLAGS64      	= 	-D__sparcv9 -I/usr/include/v9
    
    CCSBIN		=	/usr/ccs/bin	
    AR		=	${CCSBIN}/ar
    ARFLAGS		=	cr
    LORDER		=	${CCSBIN}/lorder
    TSORT		=	${CCSBIN}/tsort
    
    INCS		=	-I${PROMIF}/include -I${PROMIF}/include/sun4u \
    			-I${PROMIF}/include/v9 -I/usr/include
    
    CFLAGS		= 	${INCS}
    
    LIBRARY_sparc	=	$(TARGETDIR)libsa.a
    LIBRARY_sparcv9	=	$(TARGETDIR)sparcv9/libsa.a
    
    .KEEP_STATE:
    .PARALLEL:
    .SILENT:
    
    MKDIR   = 	mkdir -p
    
    SFILES	=	crt0.s
    
    CFILES	=	common/prom_2path.c		\
    		common/prom_boot.c		\
    		common/prom_console.c		\
    		common/prom_enter.c		\
    		common/prom_exit.c		\
    		common/prom_findnode.c		\
    		common/prom_gettime.c		\
    		common/prom_handler.c		\
    		common/prom_interp.c		\
    		common/prom_io.c		\
    		common/prom_node.c		\
    		common/prom_panic.c		\
    		common/prom_path.c		\
    		common/prom_phandle.c		\
    		common/prom_printf.c		\
    		common/prom_prop.c		\
    		common/prom_propnames.c		\
    		common/prom_reboot.c		\
    		common/prom_string.c		\
    		common/prom_sysnodes.c		\
    		common/prom_test.c		\
    		sun4u/prom_alloc.c		\
    		sun4u/prom_cpuctl.c		\
    		sun4u/prom_heartbeat.c		\
    		sun4u/prom_init.c		\
    		sun4u/prom_mem.c		\
    		sun4u/prom_mmu.c		\
    		sun4u/prom_power_off.c		\
    		sun4u/prom_retain.c		\
    		sun4u/prom_set_traptable.c	\
    		sun4u/prom_sparc.c		\
    		common/prom_file.c		\
    		common/prom_mapin.c		\
    		common/prom_ioctl.c		\
    		prom_glue.c			\
    		memz.c
    
    HDRS =		include/sys/obpdefs.h		\
    		include/sys/promif.h		\
    		include/sys/promimpl.h		\
    		include/sun4u/sys/prom_plat.h	\
    		include/v9/sys/prom_isa.h
    
    OBJS = $(CFILES:%.c=%.o) $(SFILES:%.s=%.o)
    
    OBJS_sparcv9 = $(OBJS:%=sparcv9/%)
    
    OBJS_sparc = $(OBJS:%=sparc/%)
    
    TARGETS:sh	= echo "sparc \${TARGETDIR}\${TARGET} " ; \
    		if [ -x /usr/bin/isalist ]; \
    		then if [ ! -z "`/usr/bin/isalist | grep v9`" ]; \
    		then echo "sparcv9 \${TARGETDIR}sparcv9/\${TARGET}"; fi; fi;
    
    OBPDEFS		= ${ROOT}/include/sys/obpdefs.h
    
    all:	sparcv9 ${TARGETDIR}sparcv9 ${LIBRARY_sparcv9} ${OBPDEFS}
    
    ${ROOT}/include/sys:
    	${MKDIR} ${ROOT}/include/sys
    
    ${ROOT}/include/sys/obpdefs.h: ${PROMIF}/include/sys/obpdefs.h
    ${ROOT}/include/sys/obpdefs.h: ${ROOT}/include/sys
    	cp -f ${PROMIF}/include/sys/obpdefs.h ${ROOT}/include/sys
    
    # Not building 32-bit promif library because crt0.s
    # file doesn't support it yet
    # all:	${TARGETS}
    
    sparc:
    	if [ ! -x $@ ]; then ${MKDIR} $@; ${MKDIR} $@/common; \
    	${MKDIR} $@/sun4u ; fi
    
    sparc/%.o:	%.c
    	$(CC32) $(CFLAGS32) $(CFLAGS) -c $< -o $@
    
    sparc/%.o:	%.s
    	$(AS) $(ASFLAGS32) -P -D_ASM -xarch=v8plus $< -o $@
    
    AROBJS_sparc	=	`${LORDER} ${OBJS_sparc} | ${TSORT}`
    
    ${LIBRARY_sparc}:	${OBJS_sparc}
    	${AR} ${ARFLAGS} $@ ${AROBJS_sparc} 
    
    ${TARGETDIR}sparcv9:
    	if [ ! -x $@ ]; then ${MKDIR} $@; fi
    
    sparcv9:
    	if [ ! -x $@ ]; then ${MKDIR} $@; ${MKDIR} $@/common; \
    	${MKDIR} $@/sun4u ; fi
    
    sparcv9/%.o:	%.c
    	$(CC64) $(CFLAGS64) $(CFLAGS) -c $< -o $@
    
    sparcv9/%.o:	%.s
    	$(AS) $(ASFLAGS64) -P -D_ASM -xarch=v9 $< -o $@
    
    AROBJS_sparcv9	=	`${LORDER} ${OBJS_sparcv9} | ${TSORT}`
    
    ${OBJS_sparcv9}: ${HDRS}
    
    ${LIBRARY_sparcv9}:	${OBJS_sparcv9}
    	${AR} ${ARFLAGS} $@ ${AROBJS_sparcv9} 
    
    clean:
    	/bin/rm -f ${OBJS_sparcv9} ${LIBRARY_sparcv9} ${OBPDEFS}
    
    clobber:
    	${SCCS} clean