From eeeb91c5bf560937fb084cad9159f93a52941c41 Mon Sep 17 00:00:00 2001 From: Klaus Kaempf Date: Thu, 29 Jan 1998 00:47:10 +0000 Subject: [PATCH] am-alpha.h: Don't include alloca for OPEN_VMS. * am-alpha.h: Don't include alloca for OPEN_VMS. * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define. * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define. (GCC_INCLUDE_DIR): Define * make-cc.com, make-cccp.com, make-cc1.com: Removed. * makefile.vms: New file. * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha. * alpha.c (output_prolog): Output '.name' directive for minimal traceback information. * alpha.c (output_prolog): Don't prepend entry point symbols with '$' on OPEN_VMS. From-SVN: r17546 --- gcc/ChangeLog | 20 ++ gcc/config/alpha/alpha.c | 16 +- gcc/config/alpha/vms.h | 2 +- gcc/config/alpha/xm-alpha.h | 2 +- gcc/config/alpha/xm-vms.h | 31 +- gcc/make-cc1.com | 545 ------------------------------------ gcc/make-cccp.com | 119 -------- gcc/make-gcc.com | 71 ----- gcc/makefile.vms | 434 ++++++++++++++++++++++++++++ 9 files changed, 488 insertions(+), 752 deletions(-) delete mode 100644 gcc/make-cc1.com delete mode 100644 gcc/make-cccp.com delete mode 100644 gcc/make-gcc.com create mode 100644 gcc/makefile.vms diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a315c9a67c7..bcc83c93086 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,23 @@ +Thu Jan 29 01:28:14 1998 Klaus Kaempf + + * am-alpha.h: Don't include alloca for OPEN_VMS. + + * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define. + + * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define. + (GCC_INCLUDE_DIR): Define + + * make-cc.com, make-cccp.com, make-cc1.com: Removed. + * makefile.vms: New file. + + * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha. + + * alpha.c (output_prolog): Output '.name' directive + for minimal traceback information. + + * alpha.c (output_prolog): Don't prepend entry point symbols + with '$' on OPEN_VMS. + Thu Jan 29 00:25:35 1998 David S. Miller Jeffrey A Law (law@cygnus.com) diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index c5d132590a7..0484ea64e6f 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -2776,7 +2776,7 @@ output_prolog (file, size) fprintf (file, "\t.ent "); assemble_name (file, alpha_function_name); fprintf (file, "\n"); - sprintf (entry_label, "$%s..en", alpha_function_name); + sprintf (entry_label, "%s..en", alpha_function_name); ASM_OUTPUT_LABEL (file, entry_label); inside_function = TRUE; @@ -2910,10 +2910,20 @@ output_prolog (file, size) fprintf (file, "\t.prologue\n"); + readonly_section (); + fprintf (file, "\t.align 3\n"); + assemble_name (file, alpha_function_name); fputs ("..na:\n", file); + fputs ("\t.ascii \"", file); + assemble_name (file, alpha_function_name); + fputs ("\\0\"\n", file); + link_section (); fprintf (file, "\t.align 3\n"); + fputs ("\t.name ", file); + assemble_name (file, alpha_function_name); + fputs ("..na\n", file); ASM_OUTPUT_LABEL (file, alpha_function_name); - fprintf (file, "\t.pdesc $"); + fprintf (file, "\t.pdesc "); assemble_name (file, alpha_function_name); fprintf (file, "..en,%s\n", is_stack_procedure ? "stack" : "reg"); alpha_need_linkage (alpha_function_name, 1); @@ -4015,7 +4025,7 @@ alpha_write_linkage (stream) if (lptr->kind == KIND_LOCAL) { /* Local and used, build linkage pair. */ - fprintf (stream, "\t.quad $%s..en\n", lptr->name); + fprintf (stream, "\t.quad %s..en\n", lptr->name); fprintf (stream, "\t.quad %s\n", lptr->name); } else diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h index e0bc3349afc..57618907fda 100644 --- a/gcc/config/alpha/vms.h +++ b/gcc/config/alpha/vms.h @@ -31,7 +31,7 @@ Boston, MA 02111-1307, USA. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES \ -"-Dalpha -D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\ +"-D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\ -Asystem(vms) -Acpu(alpha) -Amachine(alpha)" #undef CPP_SPEC diff --git a/gcc/config/alpha/xm-alpha.h b/gcc/config/alpha/xm-alpha.h index 4bf20c0a385..7665127b714 100644 --- a/gcc/config/alpha/xm-alpha.h +++ b/gcc/config/alpha/xm-alpha.h @@ -46,7 +46,7 @@ Boston, MA 02111-1307, USA. */ #if defined(__GNUC__) && !defined(USE_C_ALLOCA) #define alloca __builtin_alloca #else -#if !defined(_WIN32) && !defined(USE_C_ALLOCA) +#if !defined(_WIN32) && !defined(USE_C_ALLOCA) && !defined(OPEN_VMS) #include #else extern void *alloca (); diff --git a/gcc/config/alpha/xm-vms.h b/gcc/config/alpha/xm-vms.h index c96423a6e5a..43ac5b62cfb 100644 --- a/gcc/config/alpha/xm-vms.h +++ b/gcc/config/alpha/xm-vms.h @@ -1,5 +1,5 @@ /* Configuration for GNU C-compiler for openVMS/Alpha. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1997 Free Software Foundation, Inc. Contributed by Klaus Kaempf (kkaempf@progis.de). This file is part of GNU CC. @@ -51,9 +51,23 @@ Boston, MA 02111-1307, USA. */ #define VMS #endif +#define GCC_INCLUDE_DIR "" +/* Specify the list of include file directories. */ +#define INCLUDE_DEFAULTS \ +{ \ + { "GNU_GXX_INCLUDE:", "G++", 1, 1 }, \ + { "GNU_CC_INCLUDE:", "GCC", 0, 0 }, \ + { ".", 0, 0, 1 }, \ + { 0, 0, 0, 0 } \ +} + /* Define a local equivalent (sort of) for unlink */ #define unlink remove + #define NEED_ATEXIT +#define HAVE_VPRINTF +#define HAVE_PUTENV +#define HAVE_STRERROR #define NO_SYS_PARAMS_H /* Don't have */ #define NO_STAB_H /* Don't have */ @@ -63,16 +77,11 @@ Boston, MA 02111-1307, USA. */ #define HAVE_STDLIB_H 1 #define HAVE_UNISTD_H 1 #define HAVE_STRING_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_TIME_H 1 #define STDC_HEADERS 1 - -/* Use ANSI/SYSV style byte manipulation routines instead of BSD ones. */ - -#define bcopy(s,d,n) memcpy((d),(s),(n)) -#define bzero(d,n) memset((d),0,(n)) -#define bcmp(l,r,n) memcmp((l),(r),(n)) - -#define index strchr -#define rindex strrchr +#define HAVE_CPP_STRINGIFY 1 #if __STDC__ extern void *alloca (size_t); @@ -82,5 +91,3 @@ extern char *alloca (unsigned int); #define OBJECT_SUFFIX ".obj" #define EXECUTABLE_SUFFIX ".exe" -#define DIR_SEPARATOR ']' -#define PATH_SEPARATOR ',' diff --git a/gcc/make-cc1.com b/gcc/make-cc1.com deleted file mode 100644 index 618fc2a8d33..00000000000 --- a/gcc/make-cc1.com +++ /dev/null @@ -1,545 +0,0 @@ -$v='f$verify(0) !make-cc1.com -$! -$! Build the GNU C compiler on VMS. -$! -$! Usage: -$! $ @make-cc1.com [host-compiler] [various] -$! -$! where [host-compiler] is one of "GNUC", "VAXC", "DECC"; -$! default when none specified is "GNUC", -$! and where [various] is one or more of "CC1", "CC1PLUS", -$! "CC1OBJ", "OBJCLIB", "INDEPENDENT", "BC", "ALL", "LINK", "DEBUG". -$! "CC1" (C compiler) is the default; of the others, only -$! "CC1PLUS" (C++ compiler), "CC1OBJ" (Objective-C compiler), -$! and "OBJCLIB" (Objective-C run-time library) are of interest -$! for normal installation. -$! If both [host-compiler] and other option(s) are specified, -$! the host compiler argument must come first. -$! -$ if f$type(gcc_debug).eqs."INTEGER" then if gcc_debug.and.1 then set verify -$ -$ p1 = f$edit(p1,"UPCASE,TRIM") -$ if p1.eqs."" then p1 = "GNUC" -$! -$! Compiler-specific setup (assume GNU C, then override as necessary): -$! -$ CC = "gcc" -$ CFLAGS = "/Opt=2/Debug/noVerbos/CC1=""-mpcc-alignment""" -$ LIBS = "gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr" -$ if p1.eqs."GNUC" -$ then -$ p1 = "" -$ else -$ CC = "cc" -$ CFLAGS = "/noOpt" !disable optimizer when bootstrapping with native cc -$ if p2.eqs."DEBUG" .or. p3.eqs."DEBUG" then CFLAGS = CFLAGS + "/Debug" -$ if p1.eqs."VAXC" -$ then -$ p1 = "" -$ if f$trnlnm("DECC$CC_DEFAULT").nes."" then CC = "cc/VAXC" -$ LIBS = "alloca.obj,sys$library:vaxcrtl.olb/Libr" -$ define/noLog SYS SYS$LIBRARY: -$ else -$ if p1.eqs."DECC" -$ then -$ p1 = "" -$ if f$trnlnm("DECC$CC_DEFAULT").nes."" then CC = "cc/DECC" -$ CC = CC + "/Prefix=All/Warn=Disabl=(ImplicitFunc)" -$ LIBS = "alloca.obj" !DECC$SHR will be found implicitly by linker -$ define/noLog SYS DECC$LIBRARY_INCLUDE: -$ endif !DECC -$ endif !VAXC -$ endif !GNUC -$ -$! -$! Other setup: -$! -$ LDFLAGS = "/noMap" -$ PARSER = "bison" -$ PARSER_FLAGS= "/Define/Verbose" -$ RENAME = "rename/New_Version" -$ LINK = "link" -$ EDIT = "edit" -$ SEARCH = "search" -$ ABORT = "exit %x002C" -$ echo = "write sys$output" -$! -$! Stage[123] options -$! -$ CINCL1 = "/Incl=[]" !stage 1 -I flags -$ CINCL2 = "/Incl=([],[.ginclude])" !stage 2,3,... flags -$ CINCL_SUB = "/Incl=([],[-],[-.ginclude])" ![.cp] flags -$ -$!!!!!!! -$! Nothing beyond this point should need any local configuration changes. -$!!!!!!! -$ -$! Set the default directory to the same place as this command procedure. -$ flnm = f$enviroment("PROCEDURE") !get current procedure name -$ set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")' -$ -$! -$! First we figure out what needs to be done. This is sort of like a limited -$! make facility - the command line options specify exactly what components -$! we want to build. The following options are understood: -$! -$! LINK: Assume that the object modules for the selected compiler(s) -$! have already been compiled, perform link phase only. -$! -$! CC1: Compile and link "C" compiler. -$! -$! CC1PLUS:Compile and link "C++" compiler. -$! -$! CC1OBJ: Compile and link objective C compiler. -$! -$! ALL: Compile and link all of the CC1 passes. -$! -$! INDEPENDENT: -$! Compile language independent source modules. (On by default). -$! -$! BC: -$! Compile byte compiler source modules. (On by default). -$! -$! OBJCLIB: -$! Compile Objective-C run-time library. -$! -$! DEBUG: Link images with /debug. -$! -$! If you want to list more than one option, you should use a spaces to -$! separate them. -$! -$! Any one of the above options can be prefaced with a "NO". For example, -$! if you had already built GCC, and you wanted to build G++, you could use the -$! "CC1PLUS NOINDEPENDENT" options, which would only compile the C++ language -$! specific source files, and then link the C++ compiler. -$! -$! If you do not specify which compiler you want to build, it is assumed that -$! you want to build GNU-C ("CC1"). -$! -$! Now figure out what we have been requested to do. -$p1 = p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8 -$p1 = f$edit(p1,"COMPRESS,TRIM") -$i=0 -$DO_ALL = 0 -$DO_LINK = 0 -$DO_DEBUG = 0 -$DO_CC1PLUS = 0 -$DO_CC1OBJ = 0 -$DO_OBJCLIB = 0 -$if f$trnlnm("cfile$").nes."" then close/noLog cfile$ -$open cfile$ compilers.list -$cinit:read cfile$ compilername/end=cinit_done -$DO_'compilername'=0 -$goto cinit -$cinit_done: close cfile$ -$DO_INDEPENDENT = 1 -$DO_DEFAULT = 1 -$DO_BC = 1 -$loop: -$string = f$element(i," ",p1) -$if string.eqs." " then goto done -$flag = 1 -$if string.eqs."CC1PLUS" then DO_DEFAULT = 0 -$if string.eqs."CC1OBJ" then DO_DEFAULT = 0 -$if string.eqs."OBJCLIB" -$then DO_DEFAULT = 0 -$ DO_INDEPENDENT = DO_CC1OBJ -$ DO_BC = DO_CC1OBJ -$endif -$if f$extract(0,2,string).nes."NO" then goto parse_option -$ string=f$extract(2,f$length(string)-2,string) -$ flag = 0 -$parse_option: -$DO_'string' = flag -$i=i+1 -$goto loop -$! -$done: -$if DO_DEFAULT.eq.1 then DO_CC1 = 1 -$echo "This command file will now perform the following actions: -$if DO_LINK.eq.1 then goto link_only -$if DO_ALL.eq.1 then echo " Compile all language specific object modules." -$if DO_CC1.eq.1 then echo " Compile C specific object modules." -$if DO_CC1PLUS.eq.1 then echo " Compile C++ specific object modules." -$if DO_CC1OBJ.eq.1 then echo " Compile obj-C specific object modules." -$if DO_INDEPENDENT.eq.1 then echo " Compile language independent object modules." -$if DO_BC.eq.1 then echo " Compile byte compiler object modules." -$if DO_OBJCLIB.eq.1 then echo " Create Objective-C run-time library." -$link_only: -$if DO_CC1.eq.1 then echo " Link C compiler (gcc-cc1.exe)." -$if DO_CC1PLUS.eq.1 then echo " Link C++ compiler (gcc-cc1plus.exe)." -$if DO_CC1OBJ.eq.1 then echo " Link objective-C compiler (gcc-cc1obj.exe)." -$if DO_DEBUG.eq.1 then echo " Link images to run under debugger." -$! -$! Update CFLAGS with appropriate CINCLx value. -$! -$if f$edit(f$extract(0,3,CC),"LOWERCASE").nes."gcc" then goto stage1 -$if f$search("gcc-cc1.exe").eqs."" then goto stage1 -$if f$file_attr("gnu_cc:[000000]gcc-cc1.exe","FID").nes.- - f$file_attr("gcc-cc1.exe","FID") then goto stage1 -$ CFLAGS = CFLAGS + CINCL2 -$ goto cinclX -$stage1: -$ CFLAGS = CFLAGS + CINCL1 -$cinclX: -$! -$! Test and see if we need these messages or not. The -1 switch gives it away. -$! -$gas := $gnu_cc:[000000]gcc-as.exe -$if f$search(gas-"$").eqs."" then goto gas_missing_message !must be VAXC -$define/user sys$error sys$scratch:gas_test.tmp -$gas -1 nla0: -o nla0: -$size=f$file_attributes("sys$scratch:gas_test.tmp","ALQ") -$delete/nolog sys$scratch:gas_test.tmp;* -$if size.eq.0 then goto skip_gas_message -$type sys$input: !an old version of gas was found - ------ - Note: you appear to have an old version of gas, the GNU assembler. -GCC 2.x treats external variables differently than GCC 1.x does. Before -you use GCC 2.x, you should obtain a version of the assembler which works -with GCC 2.x (gas-1.38 and earlier did not have the necessary support; -gas-2.0 through gas-2.3 did not work reliably for vax/vms configuration). -The assembler in gcc-vms-1.42 contained patches to provide the proper -support, and more recent versions have an up to date version of gas which -provides the support. gas from binutils-2.5 or later is recommended. - - If you do not update the assembler, the compiler will still work, -but `extern const' variables will be treated as `extern'. This will result -in linker warning messages about mismatched psect attributes, and these -variables will be placed in read/write storage. ------ - -$goto skip_gas_message -$gas_missing_message: -$type sys$input: !no version of gas was found - ------ - Note: you appear to be missing gas, the GNU assembler. Since -GCC produces assembly code as output from compilation, you need the -assembler to make full use of the compiler. It should be put in place -as GNU_CC:[000000]GCC-AS.EXE. - - A prebuilt copy of gas is available from the "gcc-vms" distribution, -and the gas source code is included in the GNU "binutils" distribution. -Version 2.5.2 or later is recommended. ------ - -$skip_gas_message: -$! -$! -$ if DO_DEBUG.eq.1 then LDFLAGS = LDFLAGS + "/Debug" -$! -$if DO_LINK.eq.1 then goto no_yfiles !compile_cc1 -$! -$! Build alloca if necessary (in 'LIBS for use with VAXC) -$! -$ if f$locate("alloca.obj",f$edit(LIBS,"lowercase")).ge.f$length(LIBS) then - - goto skip_alloca -$ if f$search("alloca.obj").nes."" then - !does .obj exist? is it up to date? - if f$cvtime(f$file_attributes("alloca.obj","RDT")).gts.- - f$cvtime(f$file_attributes("alloca.c","RDT")) then goto skip_alloca -$set verify -$ 'CC''CFLAGS'/Defi=("HAVE_CONFIG_H","STACK_DIRECTION=(-1)") alloca.c -$!'f$verify(0) -$skip_alloca: -$! -$if DO_BC.eq.1 -$ then -$ call compile bi_all.opt "" -$ if f$trnlnm("ifile$").nes."" then close/noLog ifile$ -$ open ifile$ bc_all.list -$ read ifile$ bc_line -$ close ifile$ -$ bc_index = 0 -$bc_loop: -$ tfile = f$element(bc_index, ",", bc_line) -$ if tfile.eqs."," then goto bc_done -$ call bc_generate 'tfile' "bi_all.opt/opt," -$ bc_index = bc_index + 1 -$ goto bc_loop -$bc_done: -$ endif -$! -$! -$if DO_INDEPENDENT.eq.1 -$ then -$! -$! First build a couple of header files from the machine description -$! These are used by many of the source modules, so we build them now. -$! -$set verify -$ 'CC''CFLAGS' rtl.c -$ 'CC''CFLAGS' obstack.c -$!'f$verify(0) -$! Generate insn-attr.h -$ call generate insn-attr.h -$ call generate insn-flags.h -$ call generate insn-codes.h -$ call generate insn-config.h -$! -$call compile independent.opt "rtl,obstack,insn-attrtab" -$! -$ call generate insn-attrtab.c "rtlanal.obj," -$set verify -$ 'CC''CFLAGS' insn-attrtab.c -$ 'CC''CFLAGS' bc-emit.c -$ 'CC''CFLAGS' bc-optab.c -$!'f$verify(0) -$ endif -$! -$compile_cc1: -$if (DO_CC1 + DO_CC1OBJ) .ne.0 -$ then -$if (f$search("C-PARSE.Y") .eqs. "") then goto yes_yfiles -$if (f$cvtime(f$file_attributes("C-PARSE.IN","RDT")).gts. - - f$cvtime(f$file_attributes("C-PARSE.Y","RDT"))) - - then goto yes_yfiles -$if f$parse("[.OBJC]").eqs."" then create/Directory [.objc] -$if (f$search("[.OBJC]OBJC-PARSE.Y") .eqs. "") then goto yes_yfiles -$if (f$cvtime(f$file_attributes("C-PARSE.IN","RDT")).gts. - - f$cvtime(f$file_attributes("[.OBJC]OBJC-PARSE.Y","RDT"))) - - then goto yes_yfiles -$GOTO no_yfiles -$yes_yfiles: -$echo "Now processing c-parse.in to generate c-parse.y and [.objc]objc-parse.y." -$ EDIT/Tpu/noJournal/noSection/noDisplay/Command=sys$input: -! -! Read c-parse.in, write c-parse.y and objc/objc-parse.y, depending on -! paired lines of "ifc" & "end ifc" and "ifobjc" & "end ifobjc" to -! control what goes into each file. Most lines will be common to -! both (hence not bracketed by either control pair). Mismatched -! pairs aren't detected--garbage in, garbage out... -! - - PROCEDURE do_output() - IF NOT objc_only THEN POSITION(END_OF(c)); COPY_TEXT(input_line); ENDIF; - IF NOT c_only THEN POSITION(END_OF(objc)); COPY_TEXT(input_line); ENDIF; - POSITION(input_file); !reset - ENDPROCEDURE; - - input_file := CREATE_BUFFER("input", "c-parse.in"); !load data - SET(NO_WRITE, input_file); - c := CREATE_BUFFER("c_output"); !1st output file - objc := CREATE_BUFFER("objc_output"); !2nd output file - - POSITION(BEGINNING_OF(input_file)); - c_only := 0; - objc_only := 0; - - LOOP - EXITIF MARK(NONE) = END_OF(input_file); !are we done yet? - - input_line := CURRENT_LINE; !access current_line just once - CASE EDIT(input_line, TRIM_TRAILING, OFF, NOT_IN_PLACE) - ["ifc"] : c_only := 1; - ["end ifc"] : c_only := 0; - ["ifobjc"] : objc_only := 1; - ["end ifobjc"] : objc_only := 0; -! default -- add non-control line to either or both output files - [INRANGE] : do_output(); !between "end" and "if" - [OUTRANGE] : do_output(); !before "end" or after "if" - ENDCASE; - - MOVE_VERTICAL(1); !go to next line - ENDLOOP; - - WRITE_FILE(c, "c-parse.y"); - WRITE_FILE(objc, "[.objc]objc-parse.y"); - QUIT -$ endif -$no_yfiles: -$! -$open cfile$ compilers.list -$cloop:read cfile$ compilername/end=cdone -$! language specific modules -$! -$if (DO_ALL + DO_'compilername').eq.0 then goto cloop -$if DO_LINK.eq.0 then - - call compile 'compilername'-objs.opt "obstack,bc-emit,bc-optab" -$! -$! CAUTION: If you want to link gcc-cc1* to the sharable image library -$! VAXCRTL, see the notes in gcc.texinfo (or INSTALL) first. -$! -$set verify -$ 'LINK''LDFLAGS'/Exe=gcc-'compilername'.exe version.opt/Opt,- - 'compilername'-objs.opt/Opt,independent.opt/Opt,- - 'LIBS' -$!'f$verify(0) -$goto cloop -$! -$! -$cdone: close cfile$ -$! -$ if DO_OBJCLIB -$ then set default [.objc] !push -$ save_cflags = CFLAGS -$ CFLAGS = CFLAGS - CINCL1 - CINCL2 + CINCL_SUB -$ MFLAGS = "/Lang=ObjC" + CFLAGS -$ library/Obj [-]objclib.olb/Create -$ if f$trnlnm("IFILE$").nes."" then close/noLog ifile$ -$ open/Read ifile$ [-]objc-objs.opt -$ocl1: read/End=ocl3 ifile$ line -$ i = 0 -$ocl2: o = f$element(i,",",line) -$ if o.eqs."," then goto ocl1 -$ n = o - ".o" -$ if f$search(n + ".m").nes."" -$ then f = n + ".m" -$ flags = MFLAGS -$ else f = n + ".c" -$ flags = CFLAGS -$ endif -$ set verify -$ 'CC' 'flags' 'f' -$!'f$verify(0)' -$ library/Obj [-]objclib.olb 'n'.obj/Insert -$ delete/noConfirm/noLog 'n'.obj;* -$ i = i + 1 -$ goto ocl2 -$ocl3: close ifile$ -$ CFLAGS = save_cflags -$ set default [-] !pop -$ endif !DO_OBJCLIB -$! -$! Done -$! -$! 'f$verify(v) -$exit -$! -$! Various DCL subroutines follow... -$! -$! This routine takes parameter p1 to be a linker options file with a list -$! of object files that are needed. It extracts the names, and compiles -$! each source module, one by one. File names that begin with an -$! "INSN-" are assumed to be generated by a GEN*.C program. -$! -$! Parameter P2 is a list of files which will appear in the options file -$! that should not be compiled. This allows us to handle special cases. -$! -$compile: -$subroutine -$on error then goto c_err -$on control_y then goto c_err -$open ifile$ 'p1' -$loop: read ifile$ line/end=c_done -$! -$i=0 -$loop1: -$flnm=f$element(i,",",line) -$i=i+1 -$if flnm.eqs."" then goto loop -$if flnm.eqs."," then goto loop -$if f$locate(flnm,p2).lt.f$length(p2) then goto loop1 -$! check for front-end subdirectory: "[.prfx]flnm" -$prfx = "" -$k = f$locate("]",flnm) -$if k.eq.1 ![]c-common for [.cp] -$then -$ if f$search(f$parse(".obj",flnm)).nes."" then goto loop1 -$ flnm = f$extract(2,999,flnm) -$else if k.lt.f$length(flnm) -$ then prfx = f$extract(2,k-2,flnm) -$ flnm = f$extract(k+1,99,flnm) -$ endif -$endif -$ if prfx.nes."" -$ then set default [.'prfx'] !push -$ save_cflags = CFLAGS -$ CFLAGS = CFLAGS - CINCL1 - CINCL2 + CINCL_SUB -$ endif -$! -$ if f$locate("parse",flnm).nes.f$length(flnm) -$ then -$ if f$search("''flnm'.c").nes."" then - - if f$cvtime(f$file_attributes("''flnm'.c","RDT")).ges. - - f$cvtime(f$file_attributes("''flnm'.y","RDT")) then goto skip_yacc -$ set verify -$ 'PARSER' 'PARSER_FLAGS' 'flnm'.y -$ 'RENAME' 'flnm'_tab.c 'flnm'.c -$ 'RENAME' 'flnm'_tab.h 'flnm'.h -$!'f$verify(0) -$ if flnm.eqs."cp-parse" .or. (prfx.eqs."cp" .and. flnm.eqs."parse") -$ then ! fgrep '#define YYEMPTY' cp-parse.c >>cp-parse.h -$ if f$trnlnm("JFILE$").nes."" then close/noLog jfile$ -$ open/Append jfile$ 'flnm'.h -$ 'SEARCH'/Exact/Output=jfile$ 'flnm'.c "#define YYEMPTY" -$ close jfile$ -$ endif -$skip_yacc: -$ echo " (Ignore any warning about not finding file ""bison.simple"".)" -$ endif -$! -$if f$extract(0,5,flnm).eqs."insn-" then call generate 'flnm'.c -$! -$set verify -$ 'CC''CFLAGS' 'flnm'.c -$!'f$verify(0) -$ if prfx.nes."" -$ then set default [-] !pop -$ CFLAGS = save_CFLAGS -$ endif -$ -$goto loop1 -$! -$! -$! In case of error or abort, go here (In order to close file). -$! -$c_err: !'f$verify(0) -$close ifile$ -$ABORT -$! -$c_done: -$close ifile$ -$endsubroutine -$! -$! This subroutine generates the insn-* files. The first argument is the -$! name of the insn-* file to generate. The second argument contains a -$! list of any other object modules which must be linked to the gen*.c -$! program. -$! -$generate: -$subroutine -$if f$extract(0,5,p1).nes."INSN-" -$ then -$ write sys$error "Unknown file passed to generate." -$ ABORT -$ endif -$root1=f$parse(f$extract(5,255,p1),,,"NAME") -$ set verify -$ 'CC''CFLAGS' GEN'root1'.C -$ 'LINK''f$string(LDFLAGS - "/Debug")' GEN'root1'.OBJ,rtl.obj,obstack.obj,'p2' - - 'LIBS' -$! 'f$verify(0) -$! -$set verify -$ assign/user 'p1' sys$output: -$ mcr sys$disk:[]GEN'root1' vax.md -$!'f$verify(0) -$endsubroutine -$! -$! This subroutine generates the bc-* files. The first argument is the -$! name of the bc-* file to generate. The second argument contains a -$! list of any other object modules which must be linked to the bi*.c -$! program. -$! -$bc_generate: -$subroutine -$if f$extract(0,3,p1).nes."BC-" -$ then -$ write sys$error "Unknown file passed to bc_generate." -$ ABORT -$ endif -$root1=f$parse(f$extract(3,255,p1),,,"NAME") -$ set verify -$ 'CC''CFLAGS' BI-'root1'.C -$ 'LINK''f$string(LDFLAGS - "/Debug")' BI-'root1'.OBJ,'p2' - - 'LIBS' -$! 'f$verify(0) -$! -$set verify -$ assign/user bytecode.def sys$input: -$ assign/user 'p1' sys$output: -$ mcr sys$disk:[]BI-'root1' -$!'f$verify(0) -$endsubroutine diff --git a/gcc/make-cccp.com b/gcc/make-cccp.com deleted file mode 100644 index 342c71015a4..00000000000 --- a/gcc/make-cccp.com +++ /dev/null @@ -1,119 +0,0 @@ -$v='f$verify(0) !make-cccp.com -$! -$! Build the GNU C preprocessor on VMS. -$! -$! Usage: -$! $ @make-cccp.com [compiler] [link-only] -$! -$! where [compiler] is one of "GNUC", "VAXC", "DECC"; -$! default when none specified is "GNUC", -$! and where [link-only] is "LINK" or omitted. -$! If both options are specified, the compiler must come first. -$! -$ if f$type(gcc_debug).eqs."INTEGER" then if gcc_debug.and.1 then set verify -$ -$ p1 = f$edit(p1,"UPCASE,TRIM") -$ if p1.eqs."" then p1 = "GNUC" -$! -$! Compiler-specific setup (assume GNU C, then override as necessary): -$! -$ CC = "gcc" -$ CFLAGS = "/Opt=2/Debug/noVerbos" -$ LIBS = "gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr" -$ if p1.nes."GNUC" -$ then -$ CC = "cc" -$ CFLAGS = "/noOpt" !disable optimizer when bootstrapping with native cc -$ if p1.eqs."VAXC" -$ then -$ if f$trnlnm("DECC$CC_DEFAULT").nes."" then CC = "cc/VAXC" -$ LIBS = "alloca.obj,sys$library:vaxcrtl.olb/Libr" -$ define/noLog SYS SYS$LIBRARY: -$ else -$ if p1.eqs."DECC" -$ then -$ if f$trnlnm("DECC$CC_DEFAULT").nes."" then CC = "cc/DECC" -$ CC = CC + "/Prefix=All" -$ LIBS = "alloca.obj" !DECC$SHR will be found implicitly by linker -$ define/noLog SYS DECC$LIBRARY_INCLUDE: -$ else -$ if p1.nes."LINK" -$ then -$ type sys$input: /Output=sys$error: -$DECK -[compiler] argument should be one of "GNUC", "VAXC", or "DECC". - -Usage: -$ @make-cccp.com [compiler] [link-only] - -$EOD -$ exit %x1000002C + 0*f$verify(v) !%SYSTEM-F-ABORT -$ endif !!LINK -$ endif !DECC -$ endif !VAXC -$ endif !!GNUC -$ -$! -$! Other setup: -$! -$ LDFLAGS = "/noMap" -$ PARSER = "bison" -$ RENAME = "rename/New_Version" -$ LINK = "link" -$ echo = "write sys$output" -$ -$!!!!!!! -$! Nothing beyond this point should need any local configuration changes. -$!!!!!!! -$ -$! Set the default directory to the same place as this command procedure. -$ flnm = f$enviroment("PROCEDURE") !get current procedure name -$ set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")' -$ -$ if p1.eqs."LINK" .or. p2.eqs."LINK" then goto Link -$ echo " Building the preprocessor." -$ -$! Compile the simplest file first, to catch problem with compiler setup early. -$ set verify -$ 'CC''CFLAGS' version.c -$!'f$verify(0) -$ -$ set verify -$ 'CC''CFLAGS' cccp.c -$!'f$verify(0) -$ -$! Compile preprocessor's parser, possibly making it with yacc first. -$ if f$search("CEXP.C").nes."" then - - if f$cvtime(f$file_attributes("CEXP.C","RDT")).ges.- - f$cvtime(f$file_attributes("CEXP.Y","RDT")) then goto skip_yacc -$ set verify -$ 'PARSER' cexp.y -$ 'RENAME' cexp_tab.c cexp.c -$!'f$verify(0) -$skip_yacc: -$ echo " (Ignore any warning about not finding file ""bison.simple"".)" -$ set verify -$ 'CC''CFLAGS' cexp.c -$ 'CC''CFLAGS'/Define="PREFIX=""_dummy_""" prefix.c -$!'f$verify(0) -$ -$! In case there's no builtin alloca support, use the C simulation. -$ if f$locate("alloca.obj",f$edit(LIBS,"lowercase")).lt.f$length(LIBS) -$ then -$ set verify -$ 'CC''CFLAGS'/Incl=[]/Defi=("HAVE_CONFIG_H","STACK_DIRECTION=(-1)") alloca.c -$!'f$verify(0) -$ endif -$! -$ -$Link: -$ echo " Linking the preprocessor." -$ set verify -$ 'LINK''LDFLAGS'/Exe=gcc-cpp.exe - - cccp.obj,cexp.obj,prefix.obj,version.obj,version.opt/Opt,- - 'LIBS' -$!'f$verify(0) -$! -$! Done -$! -$ exit 1+0*f$verify(v) diff --git a/gcc/make-gcc.com b/gcc/make-gcc.com deleted file mode 100644 index 58632eb10c6..00000000000 --- a/gcc/make-gcc.com +++ /dev/null @@ -1,71 +0,0 @@ -$! make-gcc.com -- VMS build procedure for GNU CC. -$! -$! Usage: -$! $ @make-gcc.com [host-compiler] [component list] -$! -$! where [host-compiler] is one of "GNUC", "VAXC", "DECC"; -$! default when none specified is "GNUC", -$! and where [component list] is space separated list beginning -$! with "CC1" and optionally followed by "CC1PLUS"; default if -$! nothing is specified is "CC1" (the C compiler); choosing -$! "CC1PLUS" (the C++ compiler) without also specifying "CC1" -$! will not work. (See make-cc1.com for other potential component -$! values; but unless you're developing or debugging the compiler -$! suite itself, the two above are the only ones of interest.) -$! -$! For a "stage 2" or subsequent build, always specify GNUC as -$! the host compiler. -$! -$! Note: -$! Even though it is possible to build with VAX C or DEC C, -$! a prior version of the gcc-vms binary distribution is still -$! required to be able to use the newly built GNU CC compiler(s), -$! because the gcc source distribution does not supply the driver -$! program which the DCL command "GCC" implements or the C header -$! files and gcclib support library. -$! -$ -$! -$! Change working directory to the location of this procedure. -$! -$ flnm = f$enviroment("PROCEDURE") !get current procedure name -$ set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")' -$ -$! -$! First, we build the preprocessor. -$! -$ @make-cccp.com 'p1' 'p2' -$! -$! To install it, copy the resulting GCC-CPP.EXE to the GNU_CC:[000000] -$! directory. -$! -$ -$! -$! Now we build the C compiler. To build the C++ compiler too, use -$! $ @make-gcc GNUC cc1 cc1plus -$! when invoking this command procedure. Note that you should not -$! do this for a "stage 1" build. -$! -$ @make-cc1.com 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' -$! -$! To install it (them), copy the resulting GCC-CC1.EXE (and GCC-CC1PLUS.EXE) -$! to the GNU_CC:[000000] directory. -$! -$ -$! -$! Now we build the `libgcc2' support library. It will need to be merged -$! with the existing gcclib.olb library. -$! -$ @make-l2.com 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' -$! -$! To install, save a backup copy of GNU_CC:[000000]GCCLIB.OLB somewhere, -$! then update the original using the newly created LIBGCC2.OLB via -$! $ library/Obj libgcc2.olb /Extract=*/Output=libgcc2.obj -$! $ library/Obj gnu_cc:[000000]gcclib.olb libgcc2.obj /Replace -$! -$! Depending upon how old your present gcclib library is, you might have -$! to delete some modules, such as `eprintf' and `new', to avoid conflicting -$! symbols from obsolete routines. After deleting any such modules, just -$! repeat the `library/replace' step. -$! -$ exit diff --git a/gcc/makefile.vms b/gcc/makefile.vms new file mode 100644 index 00000000000..e5b4db857e1 --- /dev/null +++ b/gcc/makefile.vms @@ -0,0 +1,434 @@ +# +# makefile for egcs +# +# Created by Klaus K"ampf, kkaempf@progis.de +# + +# choose egcs or dec c +#CC = gcc +CC = cc + +# With or withou haifa scheduler ? +#HAIFA=,"HAIFA" +HAIFA= + +PWD=sys$$disk:[] +RM=delete/nolog + +ifeq ($(CC),gcc) +ifeq ($(ARCH),ALPHA) +CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) +LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crt0.obj +else +CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) +LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib +endif +LFLAGS=/map/full +#LFLAGS= +else +ifeq ($(ARCH),ALPHA) +CFLAGS=/float=ieee/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA))\ +/warning=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec) +else +CFLAGS=/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA)) +endif +LFLAGS=/nomap +LIBS=,sys$$library:vaxcrtl.olb/lib +endif + +BISON = bison +BISON_FLAGS= /Yacc/Define/Verbose +RENAME= rename/New_Version +LINK = link #/noshare/nosysshr +EDIT = edit +SEARCH= search +ABORT = exit %x002C +echo = write sys$$output + +CINCL1 = /Incl=([],[.config]) +CINCL2 = /Incl=([],[.ginclude],[.config]) +CINCL_SUB = /Incl=([],[-],[-.ginclude],[-.config]) +CINCL_CP= /Incl=([],[.config],[.cp],[.cp.inc]) + +MDFILE = [.config.$(ARCH)]$(ARCH).md + +ifeq ($(HAIFA),) +SCHED=sched +else +SCHED=haifa-sched +endif + +BIOBJS=[]bi-parser.obj,bi-lexer.obj,bi-reverse.obj +GENOBJS=[]rtl.obj,obstack.obj + +INDEPOBJS= []toplev.obj,version.obj,tree.obj,print-tree.obj,stor-layout.obj,\ +fold-const.obj,function.obj,stmt.obj,except.obj,expr.obj,calls.obj,expmed.obj,\ +explow.obj,optabs.obj,varasm.obj,rtl.obj,print-rtl.obj,rtlanal.obj,\ +emit-rtl.obj,real.obj,regmove.obj,dbxout.obj,sdbout.obj,dwarfout.obj,\ +dwarf2out.obj,xcoffout.obj,bitmap.obj,alias.obj,\ +integrate.obj,jump.obj,cse.obj,loop.obj,unroll.obj,flow.obj,stupid.obj,\ +combine.obj,regclass.obj,local-alloc.obj,global.obj,reload.obj,\ +reload1.obj,caller-save.obj,insn-peep.obj,reorg.obj,$(SCHED).obj,\ +final.obj,recog.obj,reg-stack.obj,insn-opinit.obj,insn-recog.obj,\ +insn-extract.obj,insn-output.obj,insn-emit.obj,\ +profile.obj,insn-attrtab.obj,\ +aux-output.obj,getpwd.obj,convert.obj + +CC1OBJS=[]c-parse.obj,c-lang.obj,c-lex.obj,c-pragma.obj,c-decl.obj,\ +c-typeck.obj,c-convert.obj,c-aux-info.obj,c-common.obj,c-iterate.obj,\ +bc-emit.obj,bc-optab.obj,obstack.obj + +OBJCOBJS= + +# list copied from cc1plus-objs.opt + +CC1PLUSOBJS=[.cp]call.obj,[.cp]decl2.obj,\ +[.cp]except.obj,[.cp]pt.obj,\ +[.cp]spew.obj,[.cp]xref.obj,[.cp]class.obj,\ +[.cp]expr.obj,[.cp]lex.obj,\ +[.cp]ptree.obj,[.cp]tree.obj,[.cp]cvt.obj,\ +[.cp]errfn.obj,[.cp]rtti.obj,[.cp]method.obj,\ +[.cp]search.obj,[.cp]typeck.obj,[.cp]decl.obj,\ +[.cp]error.obj,[.cp]friend.obj,[.cp]init.obj,[.cp]parse.obj,\ +[.cp]sig.obj,[.cp]typeck2.obj,[.cp]repo.obj,\ +[.cp]input.obj,\ +[]obstack.obj,\ +[]bc-emit.obj,[]bc-optab.obj,\ +[]c-common.obj,[]c-pragma.obj + +CCCPOBJS=[]cccp.obj,cexp.obj,version.obj,prefix.obj + +ALLOCA=,[]alloca.obj,vms_abort.obj + +LIBIBERTY = [-.libiberty]libiberty.olb + +CXX_LIB2FUNCS = [.cp]tinfo.obj,[.cp]tinfo2.obj,\ +[.cp]new.obj,[.cp]new1.obj,[.cp]new2.obj,[.cp]exception.obj + +.c.obj: + $(CC) $(CFLAGS) $(CINCL1) $ $@ + +limits.h: enquire.exe + mcr $(PWD)enquire.exe -l > $@ + +enquire.exe: enquire.obj + $(LINK)$(LFLAGS)/exe=$@ enquire.obj$(ALLOCA)$(LIBS) + +libgcc2.olb: + $$ @make-l2 + +libgccplus.olb: $(CXX_LIB2FUNCS) + lib/create libgccplus $(CXX_LIB2FUNCS) + +bi-arity.exe: bi-arity.obj,$(BIOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +bc-arity.h: bi-arity.exe bytecode.def + mcr $(PWD)bi-arity.exe < bytecode.def > $@ + +bi-opcode.exe: bi-opcode.obj,$(BIOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +bc-opcode.h: bi-opcode.exe bytecode.def + mcr $(PWD)bi-opcode.exe < bytecode.def > $@ + +bi-opname.exe: bi-opname.obj,$(BIOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +bc-opname.h: bi-opname.exe bytecode.def + mcr $(PWD)bi-opname.exe < bytecode.def > $@ + +genattr.exe: genattr.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-attr.h: genattr.exe $(MDFILE) + mcr $(PWD)genattr.exe $(MDFILE) > $@ + +genflags.exe: genflags.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-flags.h: genflags.exe $(MDFILE) + mcr $(PWD)genflags.exe $(MDFILE) > $@ + +gencodes.exe: gencodes.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-codes.h: gencodes.exe $(MDFILE) + mcr $(PWD)gencodes.exe $(MDFILE) > $@ + +genconfig.exe: genconfig.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-config.h: genconfig.exe $(MDFILE) + mcr $(PWD)genconfig.exe $(MDFILE) > $@ + +genpeep.exe: genpeep.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-peep.c: genpeep.exe $(MDFILE) + mcr $(PWD)genpeep.exe $(MDFILE) > $@ + +genopinit.exe: genopinit.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-opinit.c: genopinit.exe $(MDFILE) + mcr $(PWD)genopinit.exe $(MDFILE) > $@ + +genrecog.exe: genrecog.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-recog.c: genrecog.exe $(MDFILE) + mcr $(PWD)genrecog.exe $(MDFILE) > $@ + +genextract.exe: genextract.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-extract.c: genextract.exe $(MDFILE) + mcr $(PWD)genextract.exe $(MDFILE) > $@ + +genoutput.exe: genoutput.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-output.c: genoutput.exe $(MDFILE) + mcr $(PWD)genoutput.exe $(MDFILE) > $@ + +genemit.exe: genemit.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-emit.c: genemit.exe $(MDFILE) + mcr $(PWD)genemit.exe $(MDFILE) > $@ + +genattrtab.exe: genattrtab.obj,rtlanal.obj,$(GENOBJS)$(ALLOCA) + $(LINK) $(LFLAGS)/exe=$@ $^$(LIBS) + +insn-attrtab.c: genattrtab.exe $(MDFILE) + mcr $(PWD)genattrtab.exe $(MDFILE) > $@ + +cccp.obj: cccp.c config.h +aux-output.obj: aux-output.c insn-attr.h insn-flags.h insn-config.h +bc-emit.obj: bc-emit.c bc-arity.h bc-opcode.h +bc-optab.obj: bc-optab.c bc-opcode.h +bi-parser.obj: bi-parser.c bi-parser.y +caller-save.obj: caller-save.c insn-config.h +calls.obj: calls.c insn-flags.h +combine.obj: combine.c insn-attr.h insn-flags.h insn-codes.h insn-config.h +cse.obj: cse.c insn-config.h +c-decl.obj: c-decl.c expr.h integrate.h insn-codes.h insn-config.h +c-typeck.obj: c-typeck.c +dbxout.obj: dbxout.c insn-config.h +dwarfout.obj: dwarfout.c insn-config.h +dwarf2out.obj: dwarf2out.c insn-config.h +emit-rtl.obj: emit-rtl.c bc-opcode.h bc-opname.h insn-config.h +except.obj: except.c insn-flags.h insn-codes.h insn-config.h +explow.obj: explow.c insn-flags.h insn-codes.h insn-config.h +expmed.obj: expmed.c insn-flags.h insn-codes.h insn-config.h +expr.obj: expr.c bc-opcode.h insn-flags.h insn-config.h +final.obj: final.c tm.h insn-attr.h insn-flags.h insn-codes.h insn-config.h +flow.obj: flow.c insn-config.h +function.obj: bc-opcode.h function.c insn-flags.h insn-codes.h insn-config.h insn-codes.h insn-config.h +genattrtab.obj: genattrtab.c insn-config.h +genextract.obj: genextract.c insn-config.h +global.obj: global.c insn-config.h +integrate.obj: integrate.c integrate.h insn-flags.h insn-config.h +jump.obj: jump.c insn-flags.h insn-config.h +local-alloc.obj: local-alloc.c insn-config.h +loop.obj: loop.c insn-flags.h insn-config.h +optabs.obj: optabs.c insn-flags.h insn-codes.h insn-config.h +print-rtl.obj: print-rtl.c +profile.obj: profile.c insn-flags.h insn-config.h +recog.obj: recog.c insn-attr.h insn-flags.h insn-codes.h insn-config.h +regclass.obj: regclass.c insn-config.h +reg-stack.obj: reg-stack.c insn-config.h +reload.obj: reload.c insn-codes.h insn-config.h +reload1.obj: reload1.c insn-flags.h insn-codes.h insn-config.h +reorg.obj: reorg.c insn-attr.h insn-flags.h insn-config.h +sched.obj: sched.c insn-attr.h insn-config.h +haifa-sched.obj: haifa-sched.c insn-attr.h insn-config.h +stmt.obj: stmt.c bc-opcode.h insn-flags.h insn-codes.h insn-config.h +stor-layout.obj: stor-layout.c +stupid.obj: stupid.c +toplev.obj: toplev.c bc-opcode.h insn-attr.h insn-config.h +unroll.obj: unroll.c insn-config.h + +insn-attrtab.obj: insn-attrtab.c insn-attr.h insn-config.h +insn-output.obj: insn-output.c insn-attr.h insn-flags.h insn-codes.h +insn-emit.obj: insn-emit.c insn-flags.h insn-codes.h insn-config.h +insn-opinit.obj: insn-opinit.c insn-flags.h insn-codes.h insn-config.h +insn-output.obj: insn-config.h +insn-recog.obj: insn-config.h + +varasm.obj: varasm.c tm.h +toplev.obj: toplev.c tm.h + +cexp.c: cexp.y + $(BISON) $(BISON_FLAGS)/output=$@ $< +bi-parser.c: bi-parser.y + $(BISON) $(BISON_FLAGS)/output=$@ $< +c-parse.c: c-parse.y + $(BISON) $(BISON_FLAGS)/output=$@ $< +[.cp]parse.c: [.cp]parse.y + $(BISON) $(BISON_FLAGS)/output=$@ $< +[.cp]parse.h: [.cp]parse.c + @$(ECHO) "Must copy YYEMPTY from [.cp]parse.c to [.cp]parse.h" + $$ stop +aux-output.c: [.config.$(ARCH)]$(ARCH).c + copy $< $@ + +expr.h: insn-codes.h +reload.h: insn-config.h +integrate.h: insn-config.h + +config.h: + $$ @vmsconfig + +cleancccp: + $$ purge + $(RM) cccp.obj;,cexp.obj; + $(RM) cpp.exe; + +cleanlib: + $$ purge + $(RM) libgcc2.olb; + +cleanlibplus: + $$ purge + $(RM) [.cp]tinfo.obj; + $(RM) [.cp]tinfo2.obj; + $(RM) [.cp]new.obj; + $(RM) [.cp]new1.obj; + $(RM) [.cp]new2.obj; + $(RM) [.cp]exception.obj; + $(RM) libgccplus.olb; + +clean: + $$ purge + $$ purge [.cp] + $(RM) *.obj;* + $(RM) [.cp]*.obj;* + $(RM) [.cp]parse.output;* + $(RM) *.cpp;* + $(RM) *.s;* + $(RM) *.rtl;* + $(RM) a.out; + $(RM) *.combine; + $(RM) *.cpp; + $(RM) *.cse; + $(RM) *.cse2; + $(RM) *.dbr; + $(RM) *.flow; + $(RM) *.greg; + $(RM) *.jump; + $(RM) *.jump2; + $(RM) *.loop; + $(RM) *.lreg; + $(RM) *.rtl; + $(RM) *.sched; + $(RM) *.sched2; + $(RM) *.map; + $(RM) bi-arity.exe;,bc-arity.h; + $(RM) bi-opcode.exe;,bc-opcode.h; + $(RM) bi-opname.exe;,bc-opname.h; + $(RM) genattr.exe;,insn-attr.h; + $(RM) genflags.exe;,insn-flags.h; + $(RM) gencodes.exe;,insn-codes.h; + $(RM) genconfig.exe;,insn-config.h; + $(RM) genpeep.exe;,insn-peep.c; + $(RM) genopinit.exe;,insn-opinit.c; + $(RM) genrecog.exe;,insn-recog.c; + $(RM) genextract.exe;,insn-extract.c; + $(RM) genoutput.exe;,insn-output.c; + $(RM) genemit.exe;,insn-emit.c; + $(RM) genattrtab.exe;,insn-attrtab.c; + $(RM) cc1.exe; + $(RM) cpp.exe; + $(RM) cc1plus.exe; + $(RM) libgcc2.olb; + $(RM) libgccplus.olb; + $(RM) enquire.exe;,float.h;,limits.h; +# +# clean everything axpconfig.com creates +# +distclean: clean cleancccp + purge [...] + $(RM) config.h; + $(RM) tconfig.h; + $(RM) hconfig.h; + $(RM) tm.h; + $(RM) options.h; + $(RM) specs.h; + $(RM) aux-output.c; + +[.cp]call.obj: [.cp]call.c +[.cp]decl2.obj: [.cp]decl2.c +[.cp]except.obj: [.cp]except.c insn-codes.h insn-flags.h +[.cp]pt.obj: [.cp]pt.c +[.cp]spew.obj: [.cp]spew.c +[.cp]xref.obj: [.cp]xref.c +[.cp]class.obj: [.cp]class.c +[.cp]expr.obj: [.cp]expr.c insn-codes.h +[.cp]lex.obj: [.cp]lex.c [.cp]parse.h +[.cp]ptree.obj: [.cp]ptree.c +[.cp]tree.obj: [.cp]tree.c +[.cp]cvt.obj: [.cp]cvt.c +[.cp]errfn.obj: [.cp]errfn.c +[.cp]rtti.obj: [.cp]rtti.c +[.cp]method.obj: [.cp]method.c insn-codes.h +[.cp]search.obj: [.cp]search.c +[.cp]typeck.obj: [.cp]typeck.c +[.cp]decl.obj: [.cp]decl.c +[.cp]error.obj: [.cp]error.c +[.cp]friend.obj: [.cp]friend.c +[.cp]init.obj: [.cp]init.c +[.cp]parse.obj: [.cp]parse.c + $(CC) $(CFLAGS) $(CINCL_CP) $^/obj=$@ +[.cp]sig.obj: [.cp]sig.c +[.cp]typeck2.obj: [.cp]typeck2.c +[.cp]repo.obj: [.cp]repo.c +[.cp]input.obj: [.cp]input.c + $(TOUCH) $@ +# g++ library +[.cp]tinfo.obj: [.cp]tinfo.cc +[.cp]tinfo2.obj: [.cp]tinfo2.cc +[.cp]new.obj: [.cp]new.cc +[.cp]new1.obj: [.cp]new1.cc +[.cp]new2.obj: [.cp]new2.cc +[.cp]exception.obj: [.cp]exception.cc + +#EOF -- 2.30.2