#
# Makefile for bfd library under openVMS 
#
# For use with gnu-make for vms
#
# Created by Klaus K"ampf, kkaempf@rmi.de
#
#   Copyright 2012 Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.
#

ifeq ($(ARCH),IA64)
HOSTFILE=alphavms.h
OBJS:=cpu-ia64.obj,elfxx-ia64.obj,elf64-ia64-vms.obj,\
  vms-misc.obj,vms-lib.obj,elf-strtab.obj,corefile.obj,stabs.obj,\
  merge.obj,elf-eh-frame.obj,elflink.obj,elf-attrs.obj,dwarf1.obj,elf64.obj
DEFS=SELECT_VECS="&bfd_elf64_ia64_vms_vec",\
 SELECT_ARCHITECTURES="&bfd_ia64_arch","HAVE_bfd_elf64_ia64_vms_vec"=1
endif
ifeq ($(ARCH),ALPHA)
HOSTFILE=alphavms.h
OBJS:=vms-alpha.obj,vms-lib.obj,vms-misc.obj,cpu-alpha.obj
DEFS=SELECT_VECS="&vms_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch"
endif

OBJS:=$(OBJS),archive.obj,archive64.obj,archures.obj,bfd.obj,bfdio.obj,\
  binary.obj,cache.obj,coffgen.obj,compress.obj,corefile.obj,dwarf2.obj,\
  elf.obj,format.obj,hash.obj,ihex.obj,init.obj,libbfd.obj,linker.obj,\
  opncls.obj,reloc.obj,section.obj,simple.obj,srec.obj,stab-syms.obj,\
  syms.obj,targets.obj,tekhex.obj,verilog.obj

ifeq ($(CC),gcc)
CFLAGS=/include=([],[-.include])$(DEFS)
else
OPT=/noopt/debug
CFLAGS=/name=(as_is,shortened)/include=([],"../include")\
 /define=("unlink=remove",DEBUGDIR="""GNU$$DEBUGDIR:""",$(DEFS))\
 /warns=(infor=(missingreturn,badansialias))$(OPT)
endif

libbfd.olb: $(OBJS)
	purge
	lib/create libbfd $(OBJS)

targmatch.h: bfd.h
config.h: bfd.h
vms-misc.c: vms.h
targets.c: targmatch.h

clean:
	$$ purge
	$(RM) libbfd.olb;
	$(RM) *.obj;