1ed0d50c3Schristos#
2ed0d50c3Schristos# Makefile for binutils under openVMS (Alpha and Itanium)
3ed0d50c3Schristos#
4ed0d50c3Schristos# For use with gnu-make for vms
5ed0d50c3Schristos#
6ed0d50c3Schristos# Created by Klaus Kaempf, kkaempf@rmi.de
7ed0d50c3Schristos#
8*b88e3e88Schristos#   Copyright (C) 2012-2020 Free Software Foundation, Inc.
9ed0d50c3Schristos#
10ed0d50c3Schristos# This file is free software; you can redistribute it and/or modify
11ed0d50c3Schristos# it under the terms of the GNU General Public License as published by
12ed0d50c3Schristos# the Free Software Foundation; either version 3 of the License, or
13ed0d50c3Schristos# (at your option) any later version.
14ed0d50c3Schristos#
15ed0d50c3Schristos# This program is distributed in the hope that it will be useful,
16ed0d50c3Schristos# but WITHOUT ANY WARRANTY; without even the implied warranty of
17ed0d50c3Schristos# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18ed0d50c3Schristos# GNU General Public License for more details.
19ed0d50c3Schristos#
20ed0d50c3Schristos# You should have received a copy of the GNU General Public License
21ed0d50c3Schristos# along with this program; see the file COPYING3.  If not see
22ed0d50c3Schristos# <http://www.gnu.org/licenses/>.
23ed0d50c3Schristos#
24ed0d50c3Schristos
25ed0d50c3SchristosDEFS=/define=("OBJDUMP_PRIVATE_VECTORS=")
26ed0d50c3SchristosOPT=/noopt/debug
27ed0d50c3SchristosCFLAGS=$(OPT)/include=([],"../include",[-.bfd])$(DEFS)\
28ed0d50c3Schristos /name=(as_is,shortened)\
29ed0d50c3Schristos /prefix=(all,except=("getopt","optarg","optopt","optind","opterr"))\
30ed0d50c3Schristos /warns=(info=(ptrmismatch,shiftcount))
31ed0d50c3Schristos
32ed0d50c3SchristosLIBBFD = [-.bfd]libbfd.olb/lib
33ed0d50c3SchristosLIBBFD_DEP = [-.bfd]libbfd.olb
34ed0d50c3SchristosLIBIBERTY_DEP = [-.libiberty]libiberty.olb
35ed0d50c3SchristosLIBIBERTY = [-.libiberty]libiberty.olb/lib
36ed0d50c3SchristosOPCODES_DEP = [-.opcodes]libopcodes.olb
37ed0d50c3SchristosOPCODES = [-.opcodes]libopcodes.olb/lib
38ed0d50c3Schristos
3906324dcfSchristosDEBUG_OBJS = rddbg.obj,debug.obj,stabs.obj,rdcoff.obj,dwarf.obj,\
40ed0d50c3Schristos  elfcomm.obj
41ed0d50c3Schristos
42ed0d50c3SchristosBULIBS = bucomm.obj,version.obj,filemode.obj
43ed0d50c3Schristos
44ed0d50c3SchristosADDL_DEPS = $(BULIBS),$(LIBBFD_DEP),$(LIBIBERTY_DEP)
45ed0d50c3SchristosADDL_LIBS = $(BULIBS),$(LIBBFD),$(LIBIBERTY)
46ed0d50c3Schristos
47ed0d50c3SchristosSIZEOBJS = $(ADDL_DEPS),size.obj
48ed0d50c3Schristos
49ed0d50c3SchristosSTRINGSOBJS = $(ADDL_DEPS),strings.obj
50ed0d50c3Schristos
51ed0d50c3SchristosNMOBJS = $(ADDL_DEPS),nm.obj
52ed0d50c3Schristos
53ed0d50c3SchristosADDR2LINEOBJS = $(ADDL_DEPS),addr2line.obj
54ed0d50c3Schristos
55ed0d50c3SchristosOBJDUMPOBJS = objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(ADDL_DEPS),$(OPCODES_DEP)
56ed0d50c3Schristos
57ed0d50c3SchristosREADELFOBJS = readelf.obj,dwarf.obj,unwind-ia64.obj,$(ADDL_DEPS)
58ed0d50c3Schristos
59ed0d50c3Schristosall: config.h size.exe strings.exe objdump.exe nm.exe addr2line.exe
60ed0d50c3Schristos
61ed0d50c3Schristossize.exe: $(SIZEOBJS)
62ed0d50c3Schristos	link/exe=$@ size.obj,$(ADDL_LIBS)
63ed0d50c3Schristos
64ed0d50c3Schristosstrings.exe: $(STRINGSOBJS)
65ed0d50c3Schristos	link/exe=$@ strings.obj,$(ADDL_LIBS)
66ed0d50c3Schristos
67ed0d50c3Schristosnm.exe: $(NMOBJS)
68ed0d50c3Schristos	link/exe=$@ nm.obj,$(ADDL_LIBS)
69ed0d50c3Schristos
70ed0d50c3Schristosaddr2line.exe: $(ADDR2LINEOBJS)
71ed0d50c3Schristos	link/exe=$@ addr2line.obj,$(ADDL_LIBS)
72ed0d50c3Schristos
73ed0d50c3Schristosobjdump.exe: $(OBJDUMPOBJS)
74ed0d50c3Schristos	link/exe=$@ objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(ADDL_LIBS),$(OPCODES)
75ed0d50c3Schristos
76ed0d50c3Schristosreadelf.exe: $(READELFOBJS)
77ed0d50c3Schristos	link/exe=$@ readelf.obj,dwarf.obj,unwind-ia64.obj,$(ADDL_LIBS)
78ed0d50c3Schristos
79ed0d50c3Schristosconfig.h:
80ed0d50c3Schristos	$$ @configure
81ed0d50c3Schristos	$(MAKE) -f makefile.vms "CC=$(CC)"
82ed0d50c3Schristos
83ed0d50c3Schristosclean:
84ed0d50c3Schristos	$$ purge
85ed0d50c3Schristos	$(RM) *.obj;
86ed0d50c3Schristos	$(RM) *.exe;
87ed0d50c3Schristos
88ed0d50c3Schristosdistclean: clean
89ed0d50c3Schristos	$(RM) config.h;
90ed0d50c3Schristos	$(RM) makefile.vms;
91