1#
2# Makefile for binutils under openVMS (Alpha and Vax)
3#
4# For use with gnu-make for vms
5#
6# Created by Klaus K"ampf, kkaempf@rmi.de
7#
8#
9
10# Distribution version, filled in by configure.com
11VERSION=@VERSION@
12
13ifeq ($(ARCH),ALPHA)
14TARGET=""vms-alpha""
15else
16TARGET=""vms-vax""
17endif
18
19ifeq ($(CC),gcc)
20CFLAGS=/include=([],[-.include],[-.bfd])$(DEFS)
21DEFS=/define=("TARGET=$(TARGET)")
22LIBS=,gnu_cc_library:libgcc/lib,sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crt0.obj
23else
24CFLAGS=/noopt/debug/include=([],[-.include],[-.bfd])$(DEFS)\
25/warnings=disable=(missingreturn,implicitfunc,longextern)
26DEFS=/define=("TARGET=$(TARGET)","const=","unlink=remove")
27LIBS=,sys$$library:vaxcrtl.olb/lib
28endif
29
30BFDLIB = [-.bfd]libbfd.olb/lib
31BFDLIB_DEP = [-.bfd]libbfd.olb
32LIBIBERTY_DEP = [-.libiberty]libiberty.olb
33LIBIBERTY = [-.libiberty]libiberty.olb/lib
34OPCODES_DEP = [-.opcodes]libopcodes.olb
35OPCODES = [-.opcodes]libopcodes.olb/lib
36
37DEBUG_OBJS = rddbg.obj,debug.obj,stabs.obj,ieee.obj,rdcoff.obj
38
39WRITE_DEBUG_OBJS = $(DEBUG_OBJS),wrstabs.obj
40
41BULIBS = []bucomm.obj,version.obj,filemode.obj
42
43ADDL_DEPS = $(BULIBS),$(BFDLIB_DEP),$(LIBIBERTY_DEP)
44ADDL_LIBS = $(BULIBS),$(BFDLIB),$(LIBIBERTY)
45
46SIZEOBJS = $(ADDL_DEPS),size.obj
47
48STRINGSOBJS = $(ADDL_DEPS),strings.obj
49
50NMOBJS = $(ADDL_DEPS),nm.obj
51
52OBJDUMPOBJS = $(ADDL_DEPS),objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(OPCODES_DEP)
53
54all: config.h size.exe strings.exe objdump.exe nm.exe
55
56size.exe: $(SIZEOBJS)
57	link/exe=$@ size.obj,$(ADDL_LIBS)$(LIBS)
58
59strings.exe: $(STRINGSOBJS)
60	link/exe=$@ strings.obj,$(ADDL_LIBS)$(LIBS)
61
62nm.exe: $(NMOBJS)
63	link/exe=$@ nm.obj,$(ADDL_LIBS)$(LIBS)
64
65objdump.exe: $(OBJDUMPOBJS)
66	link/exe=$@ objdump.obj,prdbg.obj,$(DEBUG_OBJS),$(BFDLIB),$(OPCODES),$(ADDL_LIBS)$(LIBS)
67
68
69version.obj: version.c
70	$(CC) $(CFLAGS)/define=(VERSION="""$(VERSION)""") $<
71
72config.h:
73	$$ @configure
74	$(MAKE) -f makefile.vms "CC=$(CC)"
75
76[-.bfd]libbfd.olb:
77	$(CD) [-.bfd]
78	$(MAKE) -f makefile.vms "CC=$(CC)"
79	$(CD) [-.binutils]
80
81[-.libiberty]libiberty.olb:
82	$(CD) [-.libiberty]
83	$(MAKE) -f makefile.vms "CC=$(CC)"
84	$(CD) [-.binutils]
85
86[-.opcodes]libopcodes.olb:
87	$(CD) [-.opcodes]
88	$(MAKE) -f makefile.vms "CC=$(CC)"
89	$(CD) [-.binutils]
90
91clean:
92	$$ purge
93	$(RM) *.obj;
94	$(RM) *.exe;
95
96distclean: clean
97	$(RM) config.h;
98	$(RM) makefile.vms;
99