1#
2# Makefile for bfd library 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
10CC=cc
11
12ifeq ($(ARCH),ALPHA)
13HOSTFILE=alphavms.h
14TARGETOBJS = cpu-alpha.obj
15else
16HOSTFILE=vaxvms.h
17TARGETOBJS = cpu-vax.obj
18endif
19
20
21OBJS=archive.obj,archures.obj,bfd.obj,cache.obj,coffgen.obj,corefile.obj,\
22  format.obj,init.obj,libbfd.obj,opncls.obj,reloc.obj,section.obj,syms.obj,\
23  targets.obj,hash.obj,linker.obj,elf.obj,srec.obj,binary.obj,tekhex.obj,\
24  ihex.obj,stab-syms.obj,vms.obj,vms-hdr.obj,vms-gsd.obj,vms-tir.obj,\
25  vms-misc.obj,$(TARGETOBJS)
26
27ifeq ($(CC),gcc)
28ifeq ($(ARCH),ALPHA)
29DEFS=/define=(SELECT_VECS="&vms_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch",\
30"HAVE_vms_alpha_vec=1")
31else
32DEFS=/define=(SELECT_VECS="&vms_vax_vec",SELECT_ARCHITECTURES="&bfd_vax_arch",\
33"HAVE_vms_vax_vec=1","VMS_DEBUG")
34endif
35CFLAGS=/include=([],[-.include])$(DEFS)
36else
37ifeq ($(ARCH),ALPHA)
38DEFS=/define=(SELECT_VECS="&vms_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch",\
39"HAVE_vms_alpha_vec=1","unlink=remove","const=","VMS_DEBUG",)
40else
41DEFS=/define=(SELECT_VECS="&vms_vax_vec",SELECT_ARCHITECTURES="&bfd_vax_arch",\
42"HAVE_vms_vax_vec=1","unlink=remove","const=","VMS_DEBUG")
43endif
44CFLAGS=/noopt/debug/include=([],[-.include])$(DEFS)/warnings=disable=(missingreturn,implicitfunc,longextern)
45endif
46
47
48libbfd.olb: sysdep.h bfd.h $(OBJS)
49	purge
50	lib/create libbfd $(OBJS)
51
52sysdep.h: [.hosts]$(HOSTFILE) config.h
53	$(CP) $< $@
54
55bfd.h: bfd-in2.h
56	$$ @configure
57
58targmatch.h: bfd.h
59config.h: bfd.h
60
61vms.c: vms.h
62vms-mhd.c: vms.h
63vms-gsd.c: vms.h
64vms-tir.c: vms.h
65vms-misc.c: vms.h
66targets.c: targmatch.h
67
68clean:
69	$$ purge
70	$(RM) libbfd.olb;
71	$(RM) sysdep.h;
72	$(RM) bfd.h;
73	$(RM) targmatch.h;
74	$(RM) config.h;
75	$(RM) *.obj;
76