#
-# Makefile for bfd library under openVMS (Alpha and Vax)
+# 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/>.
#
-CC=cc
-
+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
-TARGETOBJS = cpu-alpha.obj
-else
-HOSTFILE=vaxvms.h
-TARGETOBJS = cpu-vax.obj
+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,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,\
- vms.obj,vms-hdr.obj,vms-gsd.obj,vms-tir.obj,vms-misc.obj,$(TARGETOBJS)
+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)
-ifeq ($(ARCH),ALPHA)
-DEFS=/define=(SELECT_VECS="&vms_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch",\
-"HAVE_vms_alpha_vec=1")
-else
-DEFS=/define=(SELECT_VECS="&vms_vax_vec",SELECT_ARCHITECTURES="&bfd_vax_arch",\
-"HAVE_vms_vax_vec=1")
-endif
CFLAGS=/include=([],[-.include])$(DEFS)
else
-ifeq ($(ARCH),ALPHA)
-DEFS=/define=(SELECT_VECS="&vms_alpha_vec",\
- SELECT_ARCHITECTURES="&bfd_alpha_arch",\
- "HAVE_vms_alpha_vec=1","unlink=remove","DEBUGDIR=NULL")
-else
-DEFS=/define=(SELECT_VECS="&vms_vax_vec",SELECT_ARCHITECTURES="&bfd_vax_arch",\
- "HAVE_vms_vax_vec=1","unlink=remove")
-endif
OPT=/noopt/debug
-CFLAGS=/name=(as_is,shortened)/include=([],[-.include])$(DEFS)$(OPT)
+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]$(HOSTFILE) config.h
- $(CP) $< $@
-
-bfd.h: bfd-in2.h
- $$ @configure
-
targmatch.h: bfd.h
config.h: bfd.h
-
-vms.c: vms.h
-vms-mhd.c: vms.h
-vms-gsd.c: vms.h
-vms-tir.c: vms.h
vms-misc.c: vms.h
targets.c: targmatch.h
clean:
$$ purge
$(RM) libbfd.olb;
- $(RM) sysdep.h;
- $(RM) bfd.h;
- $(RM) targmatch.h;
- $(RM) config.h;
$(RM) *.obj;