1# 2# makefile for gas 3# 4# Created by Klaus K"ampf, kkaempf@progis.de 5# 6CC=gcc 7ifeq ($(ARCH),ALPHA) 8ifeq ($(CC),gcc) 9DEFS= 10CFLAGS=/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS) 11LFLAGS= 12LIBS=,GNU_CC_LIBRARY:libgcc/lib,sys$$library:vaxcrtl.olb/lib,GNU_CC_LIBRARY:crt0.obj 13else 14DEFS=/define=("table_size_of_flonum_powers_of_ten"="tabsiz_flonum_powers_of_ten",\ 15"_bfd_generic_get_section_contents_in_window"="_bfd_generic_get_win_section_cont",\ 16"_elf_section_from_bfd_section"="_bfd_elf_sec_from_bfd_sec","const=") 17CFLAGS=/noopt/nodebug/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS)\ 18/warnings=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) 19LFLAGS= 20LIBS=,sys$$library:vaxcrtl.olb/lib 21endif 22 23else # ARCH not ALPHA 24 25ifeq ($(CC),gcc) 26DEFS= 27CFLAGS=/include=([],[.config],[-.include],[-])$(DEFS) 28LFLAGS= 29LIBS=,GNU_CC_LIBRARY:libgcc/lib,sys$$library:vaxcrtl.olb/lib,GNU_CC_LIBRARY:crtbegin.obj,GNU_CC_LIBRARY:crtend.obj 30#LIBS=,gnu_cc:[000000]gcclib.olb/lib,sys$$library:vaxcrtl.olb/lib 31else 32error DECC is broken on VAX 33DEFS=/define=("table_size_of_flonum_powers_of_ten"="tabsiz_flonum_powers_of_ten","const=") 34CFLAGS=/noopt/debug/include=([],[.config],[-.include],[-])$(DEFS)\ 35/warnings=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) 36LFLAGS= 37LIBS=,sys$$library:vaxcrtl.olb/lib 38endif 39endif 40 41 42OBJS=targ-cpu.obj,obj-format.obj,atof-targ.obj,app.obj,as.obj,atof-generic.obj,\ 43 bignum-copy.obj,cond.obj,depend.obj,expr.obj,flonum-konst.obj,flonum-copy.obj,\ 44 flonum-mult.obj,frags.obj,hash.obj,input-file.obj,input-scrub.obj,\ 45 literal.obj,messages.obj,output-file.obj,read.obj,subsegs.obj,symbols.obj,\ 46 write.obj,listing.obj,ecoff.obj,stabs.obj,sb.obj,macro.obj,ehopt.obj 47 48LIBIBERTY = [-.libiberty]libiberty.olb 49 50ifeq ($(ARCH),ALPHA) 51LIBBFD = [-.bfd]libbfd.olb 52LIBOPCODES = [-.opcodes]libopcodes.olb 53BFDDEP = [-.bfd]bfd.h 54else 55LIBBFD = 56LIBOPCODES = 57BFDDEP = 58endif 59 60all: config.status $(BFDDEP) as.exe 61 62as.exe: $(OBJS) $(LIBOPCODES) $(LIBBFD) $(LIBIBERTY) 63ifeq ($(ARCH),ALPHA) 64 link$(LFLAGS)/exe=$@ $(OBJS),$(LIBOPCODES)/lib,$(LIBBFD)/lib,$(LIBIBERTY)/lib$(LIBS) 65else 66 link$(LFLAGS)/exe=$@ $(OBJS),$(LIBIBERTY)/lib$(LIBS) 67endif 68 69config.status: 70 $$ @config-gas 71 72ifeq ($(ARCH),ALPHA) 73CPU=alpha 74OBJFORMAT=evax 75FLTFORMAT=ieee 76else 77CPU=vax 78OBJFORMAT=vms 79FLTFORMAT=vax 80endif 81 82targ-cpu.c: [.config]tc-$(CPU).c 83 copy $< $@ 84targ-cpu.h: [.config]tc-$(CPU).h 85 copy $< $@ 86targ-env.h: [.config]te-generic.h 87 copy $< $@ 88obj-format.h: [.config]obj-$(OBJFORMAT).h 89 copy $< $@ 90obj-format.c: [.config]obj-$(OBJFORMAT).c 91 copy $< $@ 92atof-targ.c: [.config]atof-$(FLTFORMAT).c 93 copy $< $@ 94 95targ-cpu.obj: targ-cpu.c targ-cpu.h [.config]atof-vax.c 96 97[-.bfd]bfd.h: 98 $(CD) [-.bfd] 99 gmake -f makefile.vms "CC=$(CC)" 100 $(CD) [-.gas] 101 102install: as.exe 103 $(CP) $^ GNU_ROOT\:[BIN] 104 105clean: 106 $$ purge 107 $(RM) *.obj; 108 $(RM) *.exe; 109 $(RM) atof-targ.c; 110 $(RM) obj-format.c; 111 $(RM) obj-format.h; 112 $(RM) targ-env.h; 113 $(RM) targ-cpu.h; 114 $(RM) targ-cpu.c; 115 $(RM) config.status; 116