| # |
| # makefile for gas |
| # |
| # Created by Klaus K"ampf, kkaempf@progis.de |
| # |
| CC=gcc |
| ifeq ($(ARCH),ALPHA) |
| ifeq ($(CC),gcc) |
| DEFS= |
| CFLAGS=/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS) |
| LFLAGS= |
| LIBS=,GNU_CC_LIBRARY:libgcc/lib,sys$$library:vaxcrtl.olb/lib,GNU_CC_LIBRARY:crt0.obj |
| else |
| DEFS=/define=("table_size_of_flonum_powers_of_ten"="tabsiz_flonum_powers_of_ten",\ |
| "_bfd_generic_get_section_contents_in_window"="_bfd_generic_get_win_section_cont",\ |
| "_elf_section_from_bfd_section"="_bfd_elf_sec_from_bfd_sec","const=") |
| CFLAGS=/noopt/nodebug/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS)\ |
| /warnings=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) |
| LFLAGS= |
| LIBS=,sys$$library:vaxcrtl.olb/lib |
| endif |
| |
| else # ARCH not ALPHA |
| |
| ifeq ($(CC),gcc) |
| DEFS= |
| CFLAGS=/include=([],[.config],[-.include],[-])$(DEFS) |
| LFLAGS= |
| LIBS=,GNU_CC_LIBRARY:libgcc/lib,sys$$library:vaxcrtl.olb/lib,GNU_CC_LIBRARY:crtbegin.obj,GNU_CC_LIBRARY:crtend.obj |
| #LIBS=,gnu_cc:[000000]gcclib.olb/lib,sys$$library:vaxcrtl.olb/lib |
| else |
| error DECC is broken on VAX |
| DEFS=/define=("table_size_of_flonum_powers_of_ten"="tabsiz_flonum_powers_of_ten","const=") |
| CFLAGS=/noopt/debug/include=([],[.config],[-.include],[-])$(DEFS)\ |
| /warnings=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) |
| LFLAGS= |
| LIBS=,sys$$library:vaxcrtl.olb/lib |
| endif |
| endif |
| |
| |
| OBJS=targ-cpu.obj,obj-format.obj,atof-targ.obj,app.obj,as.obj,atof-generic.obj,\ |
| bignum-copy.obj,cond.obj,depend.obj,expr.obj,flonum-konst.obj,flonum-copy.obj,\ |
| flonum-mult.obj,frags.obj,hash.obj,input-file.obj,input-scrub.obj,\ |
| literal.obj,messages.obj,output-file.obj,read.obj,subsegs.obj,symbols.obj,\ |
| write.obj,listing.obj,ecoff.obj,stabs.obj,sb.obj,macro.obj,ehopt.obj |
| |
| LIBIBERTY = [-.libiberty]libiberty.olb |
| |
| ifeq ($(ARCH),ALPHA) |
| LIBBFD = [-.bfd]libbfd.olb |
| LIBOPCODES = [-.opcodes]libopcodes.olb |
| BFDDEP = [-.bfd]bfd.h |
| else |
| LIBBFD = |
| LIBOPCODES = |
| BFDDEP = |
| endif |
| |
| all: config.status $(BFDDEP) as.exe |
| |
| as.exe: $(OBJS) $(LIBOPCODES) $(LIBBFD) $(LIBIBERTY) |
| ifeq ($(ARCH),ALPHA) |
| link$(LFLAGS)/exe=$@ $(OBJS),$(LIBOPCODES)/lib,$(LIBBFD)/lib,$(LIBIBERTY)/lib$(LIBS) |
| else |
| link$(LFLAGS)/exe=$@ $(OBJS),$(LIBIBERTY)/lib$(LIBS) |
| endif |
| |
| config.status: |
| $$ @config-gas |
| |
| ifeq ($(ARCH),ALPHA) |
| CPU=alpha |
| OBJFORMAT=evax |
| FLTFORMAT=ieee |
| else |
| CPU=vax |
| OBJFORMAT=vms |
| FLTFORMAT=vax |
| endif |
| |
| targ-cpu.c: [.config]tc-$(CPU).c |
| copy $< $@ |
| targ-cpu.h: [.config]tc-$(CPU).h |
| copy $< $@ |
| targ-env.h: [.config]te-generic.h |
| copy $< $@ |
| obj-format.h: [.config]obj-$(OBJFORMAT).h |
| copy $< $@ |
| obj-format.c: [.config]obj-$(OBJFORMAT).c |
| copy $< $@ |
| atof-targ.c: [.config]atof-$(FLTFORMAT).c |
| copy $< $@ |
| |
| targ-cpu.obj: targ-cpu.c targ-cpu.h [.config]atof-vax.c |
| |
| [-.bfd]bfd.h: |
| $(CD) [-.bfd] |
| gmake -f makefile.vms "CC=$(CC)" |
| $(CD) [-.gas] |
| |
| install: as.exe |
| $(CP) $^ GNU_ROOT\:[BIN] |
| |
| clean: |
| $$ purge |
| $(RM) *.obj; |
| $(RM) *.exe; |
| $(RM) atof-targ.c; |
| $(RM) obj-format.c; |
| $(RM) obj-format.h; |
| $(RM) targ-env.h; |
| $(RM) targ-cpu.h; |
| $(RM) targ-cpu.c; |
| $(RM) config.status; |