GNU మేక్ బుక్ - Demystifying Linux బిల్డ్ ఆటోమేషన్

లైనక్స్ మరియు లిఖిత సమీక్షలు మరియు పంపిణీలు మరియు సాధనాల గురించి ట్యుటోరియల్స్ గురించి వ్రాయడం అలాగే సాఫ్ట్వేర్ అభివృద్ధిలో కూడా నేను ఎక్కువగా పాల్గొంటున్నాను. దురదృష్టవశాత్తూ, సాఫ్ట్వేర్ అభివృద్ధిలో 99.9% Windows ప్లాట్ఫారమ్లో జరుగుతుంది.

నేను ఒక C ++, విజువల్ బేసిక్, VB.NET మరియు C # డెవలపర్గా 20 సంవత్సరాల అనుభవం కలిగి ఉన్నాను మరియు నేను DBA మరియు డెవలపర్గా SQL సర్వర్తో కూడా ఒక డబ్ చేతితో ఉన్నాను.

Linux కు సాఫ్ట్వేర్ను అభివృద్ధి చేస్తున్నప్పుడు నేను అంత మంచిది కాదు. ఇది నేను నిజంగా బాధపడటం ఎప్పుడూ ఏదో ఉంది. ప్రధాన కారణం రోజు సమయంలో సాఫ్ట్వేర్ అభివృద్ధి తర్వాత నేను చేయాలనుకుంటున్నారా చివరి విషయం మరింత సాఫ్ట్వేర్ రాయడం ఒక సాయంత్రం చుట్టూ కూర్చుని ఉంది.

నేను స్క్రిప్టింగ్ మరియు బేసి చిన్న ప్రోగ్రామ్ వ్రాయడం తో tinkering వంటి స్పష్టంగా చేయండి. ఈ సాధారణంగా రాస్ప్బెర్రీ PI న ఎలక్ట్రానిక్ ఆధారిత ప్రాజెక్టులకు .

విండోస్ ప్లాట్ఫారమ్లో అనేక మంది డెవలపర్లు మొదట లినక్స్కి కదులుతున్నప్పుడు ఇబ్బందులు కలిగి ఉంటారు, అప్లికేషన్లను రూపొందించడానికి మరియు ప్యాకేజీ చేయడానికి అవసరమైన సాధనాల గురించి తెలుసుకుంటారు.

అభివృద్ధికి అనువైన సులభమైన అప్లికేషన్ వెబ్ అప్లికేషన్లు ఎందుకంటే అవి సాధారణంగా సంకలనం కోడ్ (PHP, పెర్ల్, పైథాన్) అవసరం లేదు మరియు ఫైల్స్ వెబ్ సర్వర్లో సమితి స్థానానికి అమలు చేయబడతాయి.

లైనక్స్ కొరకు నిర్మించిన అధిక సంఖ్యలో అప్లికేషన్లు C, C ++ లేదా పైథాన్ను ఉపయోగించి అభివృద్ధి చేయబడ్డాయి. ఒక సింగిల్ సి ప్రోగ్రామ్ను కంపైల్ చేయడం చాలా సులభం, కానీ మీరు బహుళ డిపెండెన్సీలతో కూడిన అనేక ప్రోగ్రాములను సంకలనం చేయవలసి వచ్చినప్పుడు విషయాలు కొంచం గమ్మత్తైనవి.

GNU మేక్ అనేది బిల్డ్ ఆటోమేషన్ స్క్రిప్టింగ్ సాధనం, ఇది మీ అనువర్తనాలను మళ్లీ మళ్లీ మరియు విభిన్న మార్గాల్లో సంకలనం చేయడానికి మీకు సహాయపడుతుంది. ఉదాహరణకు, మీరు విలువను బట్టి ఒక పారామితిని 64-bit లేదా 32-bit ఉపయోగించి ఒక అప్లికేషన్ను కంపైల్ చేయవచ్చు.

GNU మేక్ జిన్ మేక్ తో అనుసంధానమైన సంక్లిష్టతలను గట్టిగా పట్టుకోవటానికి సహాయపడేవారికి జాన్ గ్రాహం-కమ్మింగ్ చే రచింపబడింది.

పుస్తకం ఆరు అధ్యాయాలు విభజించబడింది:

  1. బేసిక్స్ రివిజిటెడ్
  2. Makefile డీబగ్గింగ్
  3. బిల్డింగ్ మరియు పునర్నిర్మాణం
  4. పిట్ఫాల్లు మరియు సమస్యలు
  5. ఎన్వలప్ మోపడం
  6. GNU మేక్ స్టాండర్డ్ లైబ్రరీ

ఈ పుస్తకము మొదట్లో మొదలవుతుంది అని నిజంగా నమ్మలేదు, ఎందుకంటే "GNU మేక్ ఏముంది?", "హౌ డు ఇట్ అ క్రియే మేక్ ఫైల్?" ప్రతి ప్రోగ్రామ్ను ఒకదానిని ఒకటి కంపైల్ చేయడం కంటే మెరుగ్గా ఉంచుతున్నారా? " మరియు "GNU మేక్ను వుపయోగించి ప్రోగ్రామ్లను ఎలా కంపైల్ చేయాలి?". ఈ అన్ని అంశాలన్నీ GNU లో మాన్యువల్లో తయారు చేయబడ్డాయి .

మొదటి అధ్యాయం "బేసిక్స్ రివిజిటెడ్" అని పిలవబడుతుందనే వాస్తవం "బేసిక్స్" మీరు ప్రారంభించే ముందు విషయం విషయంలో నిలుపుదలను కలిగి ఉంటుందని స్పష్టంగా చూపిస్తుంది.

మొదటి అధ్యాయం చరరాశుల ఉపయోగం, ఆదేశాలు మరియు $ (షెల్) పర్యావరణం ఉపయోగించే పరిసరాల వంటి అన్ని ప్రాథమికాలను వర్తిస్తుంది. మీరు అధ్యాయం, జాబితాలు, మరియు యూజర్ నిర్వచించిన విధులు అనే అంశంపై అధ్యాయం కదిలిస్తుంది.

మీరు కొంతకాలం GNU ను ఉపయోగించుకుంటూ ఉంటే, ఇంకా మీ నిపుణుడిని పరిగణించకపోతే, కొన్ని మంచి సూచనలు మరియు చిట్కాలు వెంటనే స్పష్టంగా ఉండకపోవచ్చు.

రెండవ అధ్యాయం స్క్రిప్ట్స్ నిర్మించడంలో లోపాలు ట్రాప్ ప్రయత్నిస్తున్న మీరు మీ కోసం ఒక వరము ఉంటుంది. "Makefile డీబగ్గింగ్" విభాగం అద్భుతమైన డూయింగ్ను డీకింగ్ చేయడం కోసం చిట్కాలు మరియు చిట్కాలతో నిండి ఉంది మరియు ముద్రణ వేరియబుల్ విలువలపై విభాగాలు మరియు ప్రతి వేరియబుల్ విలువను కూడా డంపింగ్ చేస్తుంది. మరింత అధ్యాయంలోకి, మీరు స్క్రిప్ట్స్ ద్వారా దశలవారీగా ఉపయోగించుకునే GNU డీబగ్గర్కు ఒక మార్గదర్శిని ఉంది.

మూడవ అధ్యాయం ఉదాహరణకు అలంకరణలు ఉన్నాయి కానీ దాని కంటే ఎక్కువ మీరు మళ్లీ మళ్లీ అమలు చేసే Makefiles సృష్టించడానికి ఎలా చూపిస్తుంది.

"పిట్ఫాల్లు మరియు సమస్యల" = మరియు: =, మరియు ifndef మరియు? = వంటి కొన్ని పదాల మధ్య తేడాలను చూస్తుంది.

నేను బుక్ ద్వారా ముందుకు వెళ్ళాను, ఎందుకంటే నేను జిన్ మేక్ ను చురుకుగా ప్రయత్నిస్తున్నందుకు కాదు, ఎందుకంటే నా జ్ఞానం చాలా ప్రాధమిక స్థాయిలో ఉంది, కొన్ని విషయం నా తలపై చాలా ఎక్కువగా జరిగింది.

సమయానికి నేను "ఎన్వలప్ పుషింగ్" అధ్యాయం కొంతవరకు మెరుస్తున్నది.

నా ప్రధాన సారాంశం, నేను ఈ పుస్తకం మొత్తానికి సంబందించినట్లయితే, రచయిత స్పష్టంగా తన విషయం తెలుసు మరియు వీలైనంత ఎక్కువ సమాచారం ఇవ్వడానికి ప్రయత్నించాడు.

సమస్య విషయం కొన్నిసార్లు విషయం రాయడానికి ప్రయత్నించేటప్పుడు కొన్నిసార్లు వారు ఈ "ఓహ్ దాని సులభం, మీరు చేయవలసింది అన్ని ...." గురించి ప్రకాశం.

నా వెనుక తలుపు మీద రబ్బరు ముద్ర గత వారం నుండి వచ్చింది మరియు ఇది కేవలం కొన్ని సంవత్సరాల వయస్సు నేను వారంటీ ఇప్పటికీ ఉంది అది అమర్చిన సంస్థ అని.

ఫోన్ లో లేడీ అన్నారు, "ఓహ్ ఓకే, నేను మీరు ఒక కొత్త ముద్ర పంపుతాను".

నేను ఇలా అన్నాను "ఓహ్ నేనే నాకు సరిపోతుందా? నేను చేయగలిగినదైనదేనా?"

ప్రతిస్పందన "ఖచ్చితంగా చేయగలిగింది, మీరు చేయాల్సినది తలుపును తీసివేసి, ముద్రకు తగినది మరియు తలుపు వెనుకకు పెట్టాలి".

ఇప్పుడు నా తక్షణ ఆలోచన "వావ్, అక్కడ బిట్ రివైండ్. నేను ఒక తలుపు తొలగించడానికి అర్హత లేదు, ఒక ముద్ర సరిపోయే మరియు తలుపు రిఫ్రిట్. నేను ఆ నిపుణులను వదిలి.

ఈ పుస్తకంలో, మీరు మరొక పుస్తకం మరియు మీకు ఉపయోగకరంగా ఉండటానికి ముందు Makefiles వ్రాసిన అనుభవం యొక్క కొంత మొత్తం అవసరం అని నేను భావిస్తున్నాను.

నేను అందించిన సూచనలు, చిట్కాలు మరియు జ్ఞానం కొందరు "ఓహ్, అలా ఎందుకు చేస్తుందో" లేదా "నేను అలా చేయగలరని గ్రహించలేకపోతున్నాను" అని నేను అనుకుంటున్నాను.

అందువల్లనే మీరు ఈ పుస్తకాన్ని కొనుక్కోవాల్సిన అవసరం ఉంది, మీరు GNU ను తయారుచేసే ఆధునిక జ్ఞానానికి శుద్ధీకరణ లేదా మరింత ఇంటర్మీడియట్ కోరుకుంటే, అది ప్రారంభపు పుస్తకము కాదు.