[linux] Makefile -obdoba obj-m pri tvorbe user space aplikacii+submaefiles

Jan Tomka judas na linux.sk
Čtvrtek Květen 31 16:07:24 CEST 2007


Premenne, o ktorych pises, su specificke pre linuxove Makefile/Kbuild a nedaju
sa pouzit pri buildovani user-space aplikacii.


Vykonat make v podadresaroch mozes z Makefile v aktualnom adresari (v pripade,
ze sa nechces za kazdu cenu vyhnut make -C):

SUBDIRS = src include po doc

all: all-recursive

all-recursive:
        @for d in $(SUBDIRS); do \
                make -C $$d all; \
        done


Na vacsie projekty vrelo odporucam vyskusat autotools. Je to nieco podobne
tomu kernelu, teda staci zadefinovat zopar spravne pomenovanych premennych.
Samotny Makefile sa vygeneruje. Priklad z automake.info:

bin_PROGRAMS = zardoz
zardoz_SOURCES = main.c head.c float.c vortex9.c gun.c
zardoz_LDADD = @LIBOBJS@


Asi najlepsi studijny material je Autobook: http://sourceware.org/autobook/
Keby si potreboval pomoct, kludne sa ozvi.

        Judas


On Thu, 31 May 2007 14:44:13 +0200, peto wrote
> nutene som sa naucil vyuzivat  premene
> obj-m
> obj
> module-objs
> 
> pre tvorbu modulov a tak by ma zaujimalo. ci su to premenne, ktore 
> vyuzva makefile v -C /lib/modules/$(shell uname -r)/build
> alebo su to nejake globalne symboly a existuje k nim nieco ako
> a.out
> binary
> executable
> alebo podobne?
> 
> A je mozne urobit submakefile a jeho volanie  inak ako s vyuzitim
> make -C
> ?
> ak by cokolvek z toho existovalo usetrilo by mi to nervy, ale aj ak 
> by neexistovalo , okrem nervov s ladenim makefile-ov by to moju 
> cinnost neovplyvnilo Otazka je aku cenu maju nervy? (prepisujeme 
> multidirectory projekt, kde sa build robil  cez sustavu bash 
> scriptov :(( , od  inych autorov)




Další informace o konferenci linux