#
-# Makefile for binutils under openVMS/Alpha
+# Makefile for binutils under openVMS (Alpha and Itanium)
#
# For use with gnu-make for vms
#
-# Created by Klaus K"ampf, kkaempf@progis.de
+# Created by Klaus Kaempf, kkaempf@rmi.de
#
+# Copyright (C) 2012-2017 Free Software Foundation, Inc.
#
+# 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/>.
+#
+
+DEFS=/define=("OBJDUMP_PRIVATE_VECTORS=")
+OPT=/noopt/debug
+CFLAGS=$(OPT)/include=([],"../include",[-.bfd])$(DEFS)\
+ /name=(as_is,shortened)\
+ /prefix=(all,except=("getopt","optarg","optopt","optind","opterr"))\
+ /warns=(info=(ptrmismatch,shiftcount))
-# Distribution version, filled in by configure.com
-VERSION=
-
-TARGET=""evax-alpha""
-
-ifeq ($(CC),gcc)
-CFLAGS=/include=([],[-.include],[-.bfd])$(DEFS)
-DEFS=/define=("TARGET=$(TARGET)")
-LIBS=,gnu_cc_library:libgcc/lib,sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crt0.obj
-else
-CFLAGS=/noopt/nodebug/include=([],[-.include],[-.bfd])$(DEFS)/warnings=disable=(missingreturn,implicitfunc)
-DEFS=/define=("TARGET=$(TARGET)",\
-"const=","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")
-LIBS=,sys$$library:vaxcrtl.olb/lib
-endif
-
-BFDLIB = [-.bfd]libbfd.olb/lib
-BFDLIB_DEP = [-.bfd]libbfd.olb
+LIBBFD = [-.bfd]libbfd.olb/lib
+LIBBFD_DEP = [-.bfd]libbfd.olb
LIBIBERTY_DEP = [-.libiberty]libiberty.olb
LIBIBERTY = [-.libiberty]libiberty.olb/lib
OPCODES_DEP = [-.opcodes]libopcodes.olb
OPCODES = [-.opcodes]libopcodes.olb/lib
-DEBUG_OBJS = rddbg.obj,debug.obj,stabs.obj,ieee.obj,rdcoff.obj
+DEBUG_OBJS = rddbg.obj,debug.obj,stabs.obj,ieee.obj,rdcoff.obj,dwarf.obj,\
+ elfcomm.obj
-WRITE_DEBUG_OBJS = $(DEBUG_OBJS),wrstabs.obj
+BULIBS = bucomm.obj,version.obj,filemode.obj
-BULIBS = []bucomm.obj,version.obj,filemode.obj
-
-ADDL_DEPS = $(BULIBS),$(BFDLIB_DEP),$(LIBIBERTY_DEP)
-ADDL_LIBS = $(BULIBS),$(BFDLIB),$(LIBIBERTY)
+ADDL_DEPS = $(BULIBS),$(LIBBFD_DEP),$(LIBIBERTY_DEP)
+ADDL_LIBS = $(BULIBS),$(LIBBFD),$(LIBIBERTY)
SIZEOBJS = $(ADDL_DEPS),size.obj
NMOBJS = $(ADDL_DEPS),nm.obj
-OBJDUMPOBJS = $(ADDL_DEPS),objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(OPCODES_DEP)
+ADDR2LINEOBJS = $(ADDL_DEPS),addr2line.obj
+
+OBJDUMPOBJS = objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(ADDL_DEPS),$(OPCODES_DEP)
-all: config.h size.exe strings.exe objdump.exe nm.exe
+READELFOBJS = readelf.obj,dwarf.obj,unwind-ia64.obj,$(ADDL_DEPS)
+
+all: config.h size.exe strings.exe objdump.exe nm.exe addr2line.exe
size.exe: $(SIZEOBJS)
- link/exe=$@ size.obj,$(ADDL_LIBS)$(LIBS)
+ link/exe=$@ size.obj,$(ADDL_LIBS)
strings.exe: $(STRINGSOBJS)
- link/exe=$@ strings.obj,$(ADDL_LIBS)$(LIBS)
+ link/exe=$@ strings.obj,$(ADDL_LIBS)
nm.exe: $(NMOBJS)
- link/exe=$@ nm.obj,$(ADDL_LIBS)$(LIBS)
+ link/exe=$@ nm.obj,$(ADDL_LIBS)
-objdump.exe: $(OBJDUMPOBJS)
- link/exe=$@ objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(BFDLIB),$(OPCODES),$(ADDL_LIBS)$(LIBS)
+addr2line.exe: $(ADDR2LINEOBJS)
+ link/exe=$@ addr2line.obj,$(ADDL_LIBS)
+objdump.exe: $(OBJDUMPOBJS)
+ link/exe=$@ objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(ADDL_LIBS),$(OPCODES)
-version.obj: version.c
- $(CC) $(CFLAGS)/define=(VERSION="""$(VERSION)""") $<
+readelf.exe: $(READELFOBJS)
+ link/exe=$@ readelf.obj,dwarf.obj,unwind-ia64.obj,$(ADDL_LIBS)
config.h:
$$ @configure
$(MAKE) -f makefile.vms "CC=$(CC)"
-[-.bfd]libbfd.olb:
- $(CD) [-.bfd]
- $(MAKE) -f makefile.vms "CC=$(CC)"
- $(CD) [-.binutils]
-
-[-.libiberty]libiberty.olb:
- $(CD) [-.libiberty]
- $(MAKE) -f makefile.vms "CC=$(CC)"
- $(CD) [-.binutils]
-
-[-.opcodes]libopcodes.olb:
- $(CD) [-.opcodes]
- $(MAKE) -f makefile.vms "CC=$(CC)"
- $(CD) [-.binutils]
-
clean:
$$ purge
$(RM) *.obj;
$(RM) *.exe;
+
+distclean: clean
$(RM) config.h;
+ $(RM) makefile.vms;