#
# Makefile for LKCD libraries and utilities
#
# Copyright 2000,2004 Silicon Graphics, Inc. All rights reserved.
#

# Cross Compiling Support
CROSS_COMPILE   =
AS              = $(CROSS_COMPILE)as
LD              = $(CROSS_COMPILE)ld
CC              = $(CROSS_COMPILE)gcc
CPP             = $(CC) -E
AR              = $(CROSS_COMPILE)ar
NM              = $(CROSS_COMPILE)nm
STRIP           = $(CROSS_COMPILE)strip
OBJCOPY         = $(CROSS_COMPILE)objcopy
OBJDUMP         = $(CROSS_COMPILE)objdump
export AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP

all: default

default: subdirs_make

check_config:
	@if [ \! -f .config ] ; then \
		echo "You must run './configure' before running 'make'." ; \
		exit 1 ; \
	fi

-include .config

SUB_DIRS  = dwarf/libdwarf lib dumputils lcrash 

subdirs_make: check_config
	for dir in $(SUB_DIRS) ; do \
		if [ -x $$dir ] ; then \
			( cd $$dir && \
		 	$(MAKE) ARCH=$(ARCH) LIBSIAL=$(LIBSIAL) ) || exit $$?; \
		fi \
	done

clean:
	for dir in $(SUB_DIRS) ; do \
		if [ -x $$dir ] ; then \
			( cd $$dir && \
			$(MAKE) ARCH=$(ARCH) LIBSIAL=$(LIBSIAL) clean ) \
			 || exit $$?; \
		fi \
	done

clobber: clean
	for dir in $(SUB_DIRS) ; do \
		if [ -x $$dir ] ; then \
			( cd $$dir && \
			$(MAKE) ARCH=$(ARCH) LIBSIAL=$(LIBSIAL) clobber) \
			|| exit $$?; \
		fi \
	done
	/bin/rm -f get_bfd_version

headers: check_config
	for dir in $(SUB_DIRS) ; do \
		if [ -x $$dir ] ; then \
			(cd $$dir && \
			$(MAKE) ARCH=$(ARCH) LIBSIAL=$(LIBSIAL) headers) \
			|| exit $$?; \
		fi \
	done

exports: check_config
	for dir in $(SUB_DIRS) ; do \
		if [ -x $$dir ] ; then \
			(cd $$dir && \
			$(MAKE) ARCH=$(ARCH) LIBSIAL=$(LIBSIAL) exports) \
			|| exit $$?; \
		fi \
	done

install:
	for dir in $(SUB_DIRS) ; do \
		if [ -x $$dir ] ; then \
			(cd $$dir && \
			$(MAKE) ARCH=$(ARCH) LIBSIAL=$(LIBSIAL) install) \
			|| exit $$?; \
		fi \
	done
