[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Andre problemer med make filer



Jeg benytter Imake til dette. Imake benyttes til at lave Makefiler med,
og stammer fra udviklingen af X, hvor portabilitet var vigtig.

Tricket med at benytte sub-directories klares ved at gøre opmærksom på,
hvilke subdirectories man har, og så inkludere makroer som kravler nedad.
Dette kan gøres rekursivt.

Du laver tre filer, der hedder Imakefile: een i hvert directory.
Den øverste ser nogenlunde således ud:

#define IHaveSubdirs
#define PassCDebugFlags
SUBDIRS = server client
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))

og de to andre definerer så kildefiler og sammenhænge ved hjælp af makroer
og regler.
De kunne se ud som

SRCS = fil1.c fil2.c
OBJS = fil1.o fil2.o
ComplexProgramTarget(client)

Så stiller du dig i det øverste directory, og laver en Makefile ved at
skrive
xmkmf
Derefter laver du Makefiler i sudirectories:
make Makefiles
og kan så kompilere:
make

Dette er ganske kort, og skrevet af fra Lærebogen. Der er uendelig mange
muligheder,
og det er et vældig stærkt værktøj.

mvh
Jan Eggert Kofoed



jonasbn wrote:

> Hej,
>
> Jeg har problemer med noget makefil sammenhæng. Jeg har to uafhængige C
> programmer, og tre make filer:
>
>         ./Makefile
>         ./server/Makefile
>         ./client/Makefile
>
> Hvordag får jeg på den smarteste måde lavet en afhængighed så når man
> kører top-level makefilen checker den, og evt. kører, de andre
> Makefiler automatisk?
>
> Jeg har kigget i Gnu Make manualen, og der lader til at være mange
> uafhængigheder, så jeg har svært ved at vælge...
>
> Jonas
>
> The codeslave formerly known as &



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *