make,и все такое

Feb 15, 2005 Last reply: 21 years ago 1 Replies

Hello, Sergey!



Втp Фев 15 2005, Sergey Pinigin писал к Maxim Polyanskiy по поводу "Re: make,и все такое." SP> make - это "надводна" часть айсберга, называемого проектом. SP> Проект состоит из программных модулей, модуль состоит из файлов... Проект состоит из железного устройства или набора файлов за которые плятятся деньги, как оно устроено с другой стороны - личное дело разработчика проекта. Пусть он хоть в тетрадке в кодах это все пишет.. SP> В случае применения CVS и взаимодействия проекта (его модулей) с SP> другими продуктами количество файлов HЕ стремится к ЕДИHИЦЕ. Речь идет не о cvs а о том что приемущество make перед bat в возможности компилять быстрее много файлов является не следствием большого объема проекта, а всего лишь следствием того, что файлов много. SP> Спорить тут не о чем. Действительно - о чем тут спорить. SP> Первая сборка секунд 40, файлов около 40 (точно не помню). SP> Изменил файл - "build all":40с, nmake:1с SP> Есть разница? Извини - не верю. Линкер 40 объектников собирает за сколько мсек в этой твоей теории? SP> Или первым делом предлагается все "слить" в один файл чтоб SP> "поработать" с чужим проектом? ;-) О чужом проекте речи вообще нет. SP> Сергей. WBR! Maxim Polyanskiy.


Привет Maxim!

16 Feb 05 01:03, Maxim Polyanskiy писал Sergey Pinigin:

SP>> Изменил файл - "build all":40с, nmake:1с SP>> Есть разница? MP> Извини - не верю. MP> Линкер 40 объектников собирает за сколько мсек в этой твоей теории?

А что такого?

intro% time gmake gmake -C net gmake[1]: Entering directory `/usr/home/alx/work/mt-100/net' arm-elf-g++ -Wall -pipe -funsigned-char -I/usr/home/alx/work/mt-100

-I/usr/home/alx/work/mt-100/include -DSNUMBER="0" -mcpu=arm7tdmi -g -O2

-Wa,-ahdl=mac.lst -c -o mac.o mac.cpp rm -f /usr/home/alx/work/mt-100/lib/libnet.a arm-elf-ar cq /usr/home/alx/work/mt-100/lib/libnet.a s3c4530_uart.o ppp.o s3c4530_ppp.o fcs.o misc.o net.o mac.o s3c4530_tty.o ip_iface.o s3c4530_ether.o arp.o udp.o tcp.os3c4530_hdlc.o arm-elf-ranlib /usr/home/alx/work/mt-100/lib/libnet.a gmake[1]: Leaving directory `/usr/home/alx/work/mt-100/net' gmake -C uCOS gmake[1]: Entering directory `/usr/home/alx/work/mt-100/uCOS' gmake[1]: Цель `all' не требует выполнения команд. gmake[1]: Leaving directory `/usr/home/alx/work/mt-100/uCOS' gmake -C shell gmake[1]: Entering directory `/usr/home/alx/work/mt-100/shell' gmake[1]: Цель `all' не требует выполнения команд. gmake[1]: Leaving directory `/usr/home/alx/work/mt-100/shell' gmake -C dev gmake[1]: Entering directory `/usr/home/alx/work/mt-100/dev' gmake[1]: Цель `all' не требует выполнения команд. gmake[1]: Leaving directory `/usr/home/alx/work/mt-100/dev' arm-elf-g++ -nostartfiles -static -Wl,-Tarmelf.x,-Map=mt-100.map,--cref

-mmcu=arm7tdmi -L/usr/home/alx/work/mt-100/lib -o mt-100.elf mt-100.o crt0.o crtbegin.ocrtend.o irqfiq.o process.o s3c4530.o syscalls.o getty.o exceptions.o exceptions_a.o profile.o monitor.o time.o envlock.o -lnet -luCOS -lshell -ldev arm-elf-objcopy -O binary -R .nvram -R .noinit mt-100.elf mt-100.bin gmake 0,52s user 0,18s system 75% cpu 0,931 total

Всего линкуется более 50 объектников, их общий размер 890 кбайт. Причем за эти 0.52 с кроме самой линковки успевает трижды отработать вложенный make, скомпилироваться один модуль и сгенериться библиотека.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Hе место портит человека, а человек место.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required