[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: make contest



Всё таже задача, но под соусом "Recursive make considered useful" ;)

----------------------------------------
% ls -R contest
contest:
dirA  dirB

contest/dirA:
Makefile

contest/dirB:
Makefile  b.c  c.c
----------------------------------------
% cat dirA/Makefile 
binaries = ../dirB/b ../dirB/c

all:
        make -C ../dirB
        make a.tar.gz
		
a.tar.gz: $(binaries)
        tar czf a.tar.gz $(binaries)
			
$(binaries):
        make -C ../dirB $@
----------------------------------------
% cat dirB/Makefile
all: b c

%: %.c
        gcc -o $@ $<
----------------------------------------

Последнее правило в dirA/Makefile больше для пижонства:
чтобы make a.tar.gz работал всегда, пересобирая архив
из готовых бинарников или дособибарая бинарники по
необходимости. 

-- 
Stanislav


Reply to: