1 /* 2 * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 public class UnixPlatform extends Platform { 26 public void setupFileTemplates() { 27 inclFileTemplate = new FileName(this, 28 "incls/", "_", "", ".incl", "", "" 29 ); 30 giFileTemplate = new FileName(this, 31 "incls/", "", "_precompiled", ".incl", "", "" 32 ); 33 gdFileTemplate = new FileName(this, 34 "", "", "Dependencies", "", "", "" 35 ); 36 } 37 38 private static String[] suffixes = { ".cpp", ".c", ".s" }; 39 40 public String[] outerSuffixes() { 41 return suffixes; 42 } 43 44 public String objFileSuffix() { 45 return ".o"; 46 } 47 48 public String asmFileSuffix() { 49 return ".i"; 50 } 51 52 public String dependentPrefix() { 53 return ""; 54 } 55 56 /** Do not change this; unless you fix things so precompiled 57 header files get translated into make dependencies. - Ungar */ 58 public int defaultGrandIncludeThreshold() { 59 if (System.getProperty("USE_PRECOMPILED_HEADER") != null) 60 return 30; 61 else 62 return 1 << 30; 63 } 64 65 /** For Unix make, include the dependencies for precompiled header 66 files. */ 67 public boolean includeGIDependencies() { 68 return false; 69 } 70 71 /** Should C/C++ source file be dependent on a file included 72 into the grand-include file. 73 On Unix with precompiled headers we don't want each file to be 74 dependent on grand-include file. Instead each C/C++ source file 75 is depended on each own set of files, and recompiled only when 76 files from this set are changed. */ 77 public boolean writeDependenciesOnHFilesFromGI() { 78 return System.getProperty("USE_PRECOMPILED_HEADER") != null; 79 } 80 }