| ------------------------------------------------------------------------------ |
| -- -- |
| -- GNAT COMPILER COMPONENTS -- |
| -- -- |
| -- P R J . M A K R -- |
| -- -- |
| -- S p e c -- |
| -- -- |
| -- Copyright (C) 2001-2003 Free Software Foundation, Inc. -- |
| -- -- |
| -- GNAT is free software; you can redistribute it and/or modify it under -- |
| -- terms of the GNU General Public License as published by the Free Soft- -- |
| -- ware Foundation; either version 2, or (at your option) any later ver- -- |
| -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- |
| -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- |
| -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- |
| -- for more details. You should have received a copy of the GNU General -- |
| -- Public License distributed with GNAT; see file COPYING. If not, write -- |
| -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- |
| -- MA 02111-1307, USA. -- |
| -- -- |
| -- GNAT was originally developed by the GNAT team at New York University. -- |
| -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
| -- -- |
| ------------------------------------------------------------------------------ |
| |
| -- Support for procedure Gnatname. |
| |
| -- For arbitrary naming schemes, create or update a project file, |
| -- or create a configuration pragmas file. |
| |
| with GNAT.OS_Lib; use GNAT.OS_Lib; |
| |
| package Prj.Makr is |
| |
| procedure Make |
| (File_Path : String; |
| Project_File : Boolean; |
| Directories : Argument_List; |
| Name_Patterns : Argument_List; |
| Excluded_Patterns : Argument_List; |
| Foreign_Patterns : Argument_List; |
| Preproc_Switches : Argument_List; |
| Very_Verbose : Boolean); |
| -- Create a project file or a configuration pragmas file |
| -- |
| -- Project_File is the path name of the project file. If the project |
| -- file already exists parse it and keep all the elements that are not |
| -- automatically generated. |
| -- |
| -- Directory_List_File is the path name of a text file that |
| -- contains on each non empty line the path names of the source |
| -- directories for the project file. The source directories |
| -- are relative to the directory of the project file. |
| -- |
| -- File_Name_Patterns is a GNAT.Regexp string pattern such as |
| -- ".*\.ads|.*\.adb" or any other pattern. |
| -- |
| -- A project file (without any sources) is automatically generated |
| -- with the name <project>_naming. It contains a package Naming with |
| -- all the specs and bodies for the project. |
| -- A file containing the source file names is automatically |
| -- generated and used as the Source_File_List for the project file. |
| -- It includes all sources that follow the Foreign_Patterns (except those |
| -- that follow Excluded_Patterns). |
| |
| -- Preproc_switches is a list of optional preprocessor switches -gnatep= |
| -- and -gnateD that are used when invoking the compiler to find the |
| -- unit name and kind. |
| |
| end Prj.Makr; |