#
-# Makefile for bfd library under openVMS/AXP
+# Makefile for bfd library under openVMS
#
# For use with gnu-make for vms
#
-# Created by Klaus Kaempf, kkaempf@progis.de
+# Created by Klaus K"ampf, kkaempf@rmi.de
#
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
-CC=gcc
+# 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=archive.obj,archures.obj,bfd.obj,cache.obj,coffgen.obj,corefile.obj,format.obj,\
- init.obj,libbfd.obj,opncls.obj,reloc.obj,section.obj,syms.obj,targets.obj,\
- hash.obj,linker.obj,elf.obj,srec.obj,binary.obj,tekhex.obj,ihex.obj,stab-syms.obj,\
- evax-alpha.obj,evax-emh.obj,evax-egsd.obj,evax-etir.obj,evax-misc.obj,\
- cpu-alpha.obj
+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)
-DEFS=/define=(SELECT_VECS="&evax_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch","unlink=remove")
CFLAGS=/include=([],[-.include])$(DEFS)
else
-DEFS=/define=(DEFAULT_VECTOR="evax_alpha_vec",SELECT_VECS="&evax_alpha_vec",\
-SELECT_ARCHITECTURES="&bfd_alpha_arch","unlink=remove",\
-"_bfd_generic_get_section_contents_in_window"="_bfd_generic_get_win_section_cont",\
-"_bfd_elf_section_from_bfd_section"="_bfd_elf_sec_from_bfd_sec")
-CFLAGS=/machine/list=cc.s/noopt/debug/include=([],[-.include])$(DEFS)
+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: sysdep.h bfd.h $(OBJS)
+libbfd.olb: $(OBJS)
purge
lib/create libbfd $(OBJS)
-sysdep.h: [.hosts]alphavms.h config.h
- $(CP) $< $@
-
-bfd.h: bfd.h-vms
- $(CP) $< $@
+targmatch.h: bfd.h
+config.h: bfd.h
+vms-misc.c: vms.h
+targets.c: targmatch.h
-config.h: config.h-vms
- $(CP) $< $@
+clean:
+ $$ purge
+ $(RM) libbfd.olb;
+ $(RM) *.obj;