<?xml version="1.0" encoding="UTF-8"?>
<record
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
    xmlns="http://www.loc.gov/MARC21/slim">

  <leader>02520cam a2200241M  4500</leader>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">0596006101</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">9780596006105</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">8173669589</subfield>
  </datafield>
  <datafield tag="050" ind1=" " ind2=" ">
    <subfield code="a">QA 76.76</subfield>
    <subfield code="b">MEC</subfield>
  </datafield>
  <datafield tag="100" ind1="1" ind2=" ">
    <subfield code="a">Mecklenburg, Robert.</subfield>
  </datafield>
  <datafield tag="245" ind1="1" ind2="0">
    <subfield code="a">Managing Projects with GNU Make /</subfield>
  </datafield>
  <datafield tag="250" ind1=" " ind2=" ">
    <subfield code="a">3rd ed.</subfield>
  </datafield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="a">Mumbai :</subfield>
    <subfield code="b">Shroff Publishers &amp; Distributors PVT.LTD,</subfield>
    <subfield code="c">c2005.</subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
    <subfield code="a">xviii, 280 pages :</subfield>
    <subfield code="b">Illustrations ;</subfield>
  </datafield>
  <datafield tag="500" ind1=" " ind2=" ">
    <subfield code="a">Includes index.</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Foreword Preface Part I. Basic Concepts 1. How to Write a Simple Makefile Targets and Prerequisites Dependency Checking; Minimizing Rebuilds Invoking make Basic Makefile Syntax; 2. Rules Explicit Rules Variables Finding Files with VPATH and vpath Pattern Rules The Implicit Rules Database Special Targets Automatic Dependency Generation Managing Libraries; 3. Variables and Macros What Variables Are Used For Variable Types Macros When Variables Are Expanded Target- and Pattern-Specific Variables Where Variables Come From Conditional and include Processing Standard make Variables 4. Functions; User-Defined Functions Built-in Functions Advanced User-Defined Functions 5. Commands Parsing Commands Which Shell to Use; Empty Commands Command Environment Evaluating Commands; Command-Line Limits Part II. Advanced and Specialized Topics; 6. Managing Large Projects Recursive make Nonrecursive make; Components of Large Systems Filesystem Layout Automating Builds and Testing 7. Portable Makefiles Portability Issues; Cygwin Managing Programs and Files Working with Nonportable Tools Automake 8. C and C++ Separating Source and Binary; Read-Only Source Dependency Generation Supporting Multiple Binary Trees Partial Source Trees Reference Builds, Libraries, and Installers 9. Java Alternatives to make A Generic Java Makefile Compiling Java Managing Jars Reference Trees and Third-Party Jars Enterprise JavaBeans 10. Improving the Performance of make Benchmarking Identifying and Handling Bottlenecks Parallel make Distributed make 11. Example Makefiles The Book Makefile The Linux Kernel Makefile; 12. Debugging Makefiles Debugging Features of make Writing Code for Debugging Common Error Messages Part III. Appendixes; A. Running make B. The Outer Limits C. GNU Free Documentation License-GNU Project-Free Software Foundation (FSF) Index.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">Utilities - (computer programs)</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">GNU Emacs.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">Make (computer file)</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">C (computer program language)</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">Computer software - development.</subfield>
  </datafield>
  <datafield tag="942" ind1=" " ind2=" ">
    <subfield code="c">BK</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="0">0</subfield>
    <subfield code="1">0</subfield>
    <subfield code="2">lcc</subfield>
    <subfield code="4">0</subfield>
    <subfield code="a">GIMPA</subfield>
    <subfield code="b">GIMPA</subfield>
    <subfield code="c">REF</subfield>
    <subfield code="d">2007-10-24</subfield>
    <subfield code="e">Purchase</subfield>
    <subfield code="l">0</subfield>
    <subfield code="o">QA 76.76 MEC</subfield>
    <subfield code="p">51927</subfield>
    <subfield code="r">2023-10-16</subfield>
    <subfield code="w">2023-10-16</subfield>
    <subfield code="y">BK</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="0">0</subfield>
    <subfield code="1">0</subfield>
    <subfield code="2">lcc</subfield>
    <subfield code="4">0</subfield>
    <subfield code="a">GIMPA</subfield>
    <subfield code="b">GIMPA</subfield>
    <subfield code="c">GEN</subfield>
    <subfield code="d">2007-10-24</subfield>
    <subfield code="e">Purchase</subfield>
    <subfield code="l">0</subfield>
    <subfield code="o">QA 76.76 MEC</subfield>
    <subfield code="p">51925</subfield>
    <subfield code="r">2023-10-16</subfield>
    <subfield code="w">2023-10-16</subfield>
    <subfield code="y">BK</subfield>
  </datafield>
  <datafield tag="999" ind1=" " ind2=" ">
    <subfield code="c">3720</subfield>
    <subfield code="d">3720</subfield>
  </datafield>
</record>
