Kapitel 5. Bygga (kompilera) projekt med egen Makefile

Många projekt beskriver hur källkodsfiler ska kompileras (och vilka filer som måste kompileras om när en källkodsfil eller deklarationsfil ändras) genom att använda en Makefile som tolkas av programmet make (se exempelvis GNU make). För enkla projekt, är det ofta mycket enkelt att skapa en sådan fil för hand. Större projekt integrerar sin Makefile med GNU autotools (autoconf, autoheader, automake). Låt oss helt enkelt anta i det här avsnittet att du har en Makefile för projektet och vill lära KDevelop hur det ska använda sig av den.

Notera

KDevelop 4.x känner inte till GNU autotools när det här avsnittet skrevs. Om projektet använder dem, måste du köra ./configure eller något av de andra relaterade kommandona för hand på en kommandorad. Om du vill göra det inne i KDevelop, öppna verktyget Terminal (om det behövs, lägg till det i huvudfönstrets omkrets genom att använda menyn FönsterLägg till verktygsvy), som ger dig ett skalfönster, och kör ./configure från kommandoraden i den vyn.

Det första steget är att lära KDevelop om målen i din Makefile. Det finns två sätt att göra det: välja individuella Makefile-mål, och välja en uppsättning mål som du ofta vill bygga. För båda sätten, öppna verktyget Projekt genom att klicka på knappen Projekt i omkretsen av KDevelops huvudfönster (om du inte har knappen, se ovan hur man lägger till knappen för ett verktyg där). Verktygsvyn Projekt har två delar: den övre halvan, benämnd Projekt, listar alla projekt och låter dig expandera de underliggande katalogträden, den undre halvan, benämnd Byggföljd, listar en delmängd av projekten som byggs om du använder menyalternativet ProjektBygg valda eller tryck på F8. Vi återkommer till den delen nedan.

Bygga enskilda mål i en Makefile

I den övre delen av projektvyn, expandera delträdet för ett projekt, låt oss säga det där du vill köra ett specifikt Makefile-mål. Det ger dig ikoner för (i) kataloger i projektet, (ii) filer i projektets toppnivåkatalog, (iii) Makefile-mål som KDevelop kan identifiera. Kategorierna visas på bilden till höger. Observera att KDevelop förstår syntaxen i en Makefile (även om förståelsen har sina begränsningar om målen är sammansatta eller implicita).

För att bygga något av målen som listas här, klicka på det med höger musknapp och välj Bygg. Genom att exempelvis göra det med målet clean kör helt enkelt make clean. Du kan se det utföras i delfönstret vid namn Bygg som öppnas, där kommandot och utmatningen visas. (Fönstret motsvarar verktyget Bygg, så du kan stänga och senare öppna fönstret igen genom att använda verktygsknappen Bygg i huvudfönstrets omkrets. Den visas längst ner till höger på bilden.)