#
# makefile for bfd, binutils and gas
#
# Created by Klaus K"ampf (kkaempf@rmi.de)
#
# You must use Version 3.76 of GNU Make
#
#

ifeq ($(ARCH),ALPHA)
CC = gcc
GASCC = $(CC)
else
CC = cc
GASCC = gcc
endif

ifeq ($(CC),cc)
  CHECK-COMPILER = check_compiler
else
  CHECK-COMPILER =
endif

all:	check_cc $(CHECK-COMPILER) [.binutils]makefile.vms
	$(CD) [.bfd]
	@gmake "CC=$(CC)"
	$(CD) [-.opcodes]
	@gmake "CC=$(CC)"
	$(CD) [-.libiberty]
	@gmake "CC=$(CC)"
	$(CD) [-.binutils]
	@gmake "CC=$(CC)"
	$(CD) [-.gas]
	@gmake "CC=$(GASCC)"
	$(CD) [-]

check_cc:
ifeq ($CC,)
	@$(ECHO) "Please edit MAKEFILE.VMS and select a C Compiler."
	stop
endif

check_compiler:
	@$(ECHO) "Perform a '$$ @setup' before starting make"

[.binutils]makefile.vms:
	$(CD) [.binutils]
	$$ @configure
	$(CD) [-]

install: all
	$(CD) [.binutils]
	@gmake "CC=$(CC)" install
	$(CD) [-]
	$(CD) [.gas]
	@gmake "CC=$(GASCC)" install
	$(CD) [-]

clean:
	$(CD) [.bfd]
	@gmake clean
	$(CD) [-.opcodes]
	@gmake clean
	$(CD) [-.libiberty]
	@gmake clean
	$(CD) [-.binutils]
	@gmake clean
	$(CD) [-.gas]
	@gmake clean
	$(CD) [-]

