Have make своими руками

Так все же, зачем нужен make?

Все началось, казалось бы, с простого вопроса, который сначала ввел меня в ступор — «Зачем нужен make? Почему нельзя обойтись bash скриптами?». И я подумал — Действительно, зачем нужен make? (и самое важное) Какие проблемы он решает?

Тут я решил немного подумать — как бы мы собирали свои проекты, если бы у нас не было make. Допустим, мы имеем проект с исходниками. Из них нужно получить исполняемый файл (или библиотеку). На первый взгляд задача вроде простая, но пошли дальше. Пусть на начальном этапе проект состоит из одного файла.

Для его компиляции достаточно выполнить одну команду:

Это было довольно просто. Но проходит некоторое время, проект развивается, в нем появляются некоторые модули и исходных файлов становится больше.

Для компиляции нужно выполнить условно вот такое количество команд:

Согласитесь, это довольно длительный и кропотливый процесс. Выполнять это вручную я бы не стал. Я бы подумал, что этот процесс можно автоматизировать, просто создав скрипт build.sh, который бы содержал эти команды. Окей, так намного проще:

Погнали дальше! Проект растет, количество файлов с исходниками увеличивается и строк в них тоже становится больше. Мы начинаем замечать, что время компиляции заметно возросло. Тут мы видим существенную недоработку нашего скрипта — он выполняет компиляцию всех наших 50 файлов с исходниками, хотя мы модифицировали только один.

Так не пойдет! Время разработчика слишком ценный ресурс. Что же, мы можем попытаться доработать скрипт сборки таким образом, чтобы перед компиляцией производилась проверка времени модификации исходников и объектных файлов. И компилировать только те исходники, которые были изменены. И условно это может выглядеть как-то так:

И теперь компилироваться будут только те исходники, которые были модифицированы.

Но что произойдет, когда проект превратится во что-нибудь подобное:

Рано или поздно наступит такой момент, когда в проекте будет очень сложно разобраться и сама по себе поддержка подобных скриптов станет трудоемким процессом. И не факт, что этот скрипт будет производить адекватную проверку всех зависимостей. К тому же, у нас может быть несколько проектов и у каждого будет свой скрипт для сборки.

Само собой мы видим, что напрашивается какое то общее решение этой проблемы. Инструмент, который бы предоставил механизм для проверки зависимостей. И вот тут мы потихоньку подобрались к изобретению make. И теперь, зная с какими проблемами мы столкнемся в процессе сборки проекта, в конце концов я бы сформулировал следующие требования к make:

  • анализ временных меток зависимостей и целей
  • выполнение минимального объема работы, необходимого для того, чтобы гарантировать актуальность производных файлов
  • (ну и + параллельное выполнение команд)

Makefile

Для описания правил сборки проекта используются Makefile’ы. Создавая Makefile, мы декларативно описываем определенное состояние отношений между файлами. Декларативный характер определения состояния удобен тем, что мы говорим, что у нас есть некоторый список файлов и из них нужно получить новый файл, выполнив некоторый список команд. В случае использования какого-либо императивного языка (например, shell) нам приходилось бы выполнять большое количество различных проверок, получая на выходе сложный и запутанный код, тогда как make делает это за нас. Главное построить правильное дерево зависимостей.

Не буду рассказывать про то, как писать Makefile’ы. В интернете очень много мануалов на эту тему и при желании можно обратиться к ним. И к тому же, мало кто пишет Makefile’ы вручную. А очень сложные Makefile’ы могут стать источником осложнений вместо того, чтобы упростить процесс сборки.

Источник

Let, Have, Get, Make something done

Категории грамматики

Артикли

Вопросы

Герундий

Инфинитив

Косвенная речь и согласование времен

Местоимения, числительные

Модальные глаголы

Отдельные глаголы

Пассивный залог

Порядок слов

Прилагательные и Наречия

Продолженное время

Простое время

Сложноподчиненное

Совершенное время

Совершенное продолженное время

Союзы и предлоги

Существительное

Условное наклонение

Фразовые глаголы

Хочешь учить английский не напрягаясь?

Попробуй наши бесплатные упражнения!

  • Грамматические теги:
  • get something done,
  • have something done,
  • make and let + object + do

«Глаголы принуждения» в английском языке

Традиционно в английском языке «заставить кого-то сделать что-то» — это make somebody do something. Этому учат со школьной скамьи. Однако, если вы находитесь на нашем сайте, то вы наверняка здесь оказались с желанием углубить свои знания. Поэтому представляем вам еще как минимум три глагола, которые обозначают «заставлять, распоряжаться» — это let, have, get. У конструкций с этими глаголами различные оттенки значений и различная сочетаемость, поэтому давайте сравним.

Таблица. Let, Have, Get, Make something done

«заставить кого-то сделать что-то»

Make somebody do something

Make + дополнение (кого?) + глагол

Don’t make me do this again!
Why didn’t you make him clean his room?

«позволить кому-то сделать что-то»

Let somebody do something

Let + дополнение (кому?) + глагол

Let me have a look.
She didn’t let her daughter go out with Mark.

«распорядиться, чтобы кто-то сделал что-то»

Have somebody do something

Have + дополнение (кого?, кому?) + глагол

Читайте также:  Веревочная лестница для лодки пвх своими руками

I’ll have the porter show you the room.
She had Anna prepare the final report.

«убедить кого-то сделать что-то» или «обманом заставить кого-то сделать что-то»

Get somebody to do something

Get + дополнение (кого?) + to + глагол

You should get your son to read more.
Finally I got the mechanic to check the brakes.

Источник

«Жертва глагола» — или использование глаголов с have, take, make, give

Заголовок данной статьи немного двусмыслен. Здесь речь идет не о простых людях в поте и крови постигающих английский, а о том, как глагол отдает себя всего в жертву ради идеи.

Надеюсь, я вас достаточно заинтриговал, чтобы вы продолжили читать?

О чем же я веду здесь речь? Давайте вместо ответа взглянем на следующие примеры:

Tight-fisted people don’t like having shower .
Скупые люди не любят принимать душ.

Chuck Norris counted to infinity twice and then took a rest.
Чак Норрис досчитал до бесконечности дважды и затем передохнул

А если вы пристально всмотритесь в словосочетания have shower и take a rest , то поймете, что перед вами делексические глаголы — то есть, глаголы, которые отдали важную часть себя следующим после них существительным, как самец богомола, отдающий свою плоть самке :), чтобы общая идея продолжала жить. И правда, ведь мы могли бы сказать:

Tight-fisted people don’t like showering.

Chuck Norris rested.

Это вполне правильно, но, согласитесь, не звучит. Существует некая устойчивость в этих связках глагола с существительным. Есть предложение разобраться основательнее с этими связками.

Связки с глаголом HAVE

Мы используем have c такими категориями, как:
Еда и питье — a meal, breakfast, dinner, lunch, a snack, a cup of tea.
Беседы — a chat, a talk, discussion, conversation.
Мытье — a bath, a shower, a wash, a scrub.
Отдых — a rest, a break, a holiday.
Несогласие — argument, dispute, fight, quarrel.

The problem with all these terrorists is that they prefer having quarrel instead of just having a wash .
Проблема со всеми террористами в том, что они предпочитают ссориться вместо того, чтобы просто помыться.

Также любопытно использование have с другими глаголами в этом ключе:
have a look, have a bite, have a drink, have a swim.
The slogan of Homer Simpson may be «Have a bite, have a drink, have a break from all this thing!»
Девиз Гомера Симпсона может быть таким: «Попил, поел, отдохнул от этих дел!»

Связки с глаголом TAKE

Далее рассмотрим take в следующих категориях:

Мытье — a bath, a shower, a wash
Отдых — a break, a holiday, a rest

В этих отношениях take совпадает с have, однако имеются некоторые другие отличия:

care, turn, trouble, chance, decision, risk, a photo

Taking risk is when you take a photo without taking good decision.
Ты рискуешь, когда фотографируешься, не приняв хорошего решения.

Связки с глаголом GIVE

Этот глагол действует разнообразнее:

Шумы — a cry, a laugh, a scream, a shout, a whistle.
Выражения на лице — a smile, a grin, a look, a glance.
Удары — a kick, a punch, a push, a slap, a knock, a blow.
Выражения ласки — a hug, a kiss, a stroke.
Беседы, общение — some advice, answer, some information, an interview, a lecture, some news, a report, a speech, a warning.

The train gave a whistle and suddenly stopped giving a hard knock to thousands of Indians who were sitting on top of coach.
Поезд издал свист и внезапно остановился, от такого сильного толчка тысячи индусов, сидевших на крыше вагона, попадали.

Связки с глаголом MAKE

Этот глагол замыкает основную четверку со следующими категориями:

Общение и звуки — a comment, an enquiry, a noise, a point, a promise, a sound, a suggestion.
Планы — arrangement, a choice, a decision, a plan, an appointement, a date.

Ball lightning makes an unpleasant noise which can easily prevent you from making any decision.
Шаровая молния издает неприятный шум, что легко может помешать вам принять какое-либо решение.

Связки с глаголом GO

Данный глагол частично входит в эту группу, правда с определенными условиями:

go используется с другими глаголами в форме -ing , когда мы говорим о распространенных действиях (go shopping, go running, go walking)

go for применяется с глаголами движения (go for a jog, go for a ride, go for a stroll)

In some parts of my hometown at night you should go for a stroll along cobbled streets but in other parts I would advice you to go running away.
В некоторых частях моего родного города ночью вам следует пройтись по мощеным улочкам, но в других местах я бы посоветовал вам просто бежать прочь.

Связки с глаголом DO

Особенности применения этого глагола с определенными условиями:

do с глаголами в форме -ing, говоря о работе по дому (do the cooking, do the drying)
do с существительными, когда из контекста ясно, о чем идет речь (do my hair = brush, do my teeth = clean)

Наличие проясняющего ситуацию контекста жизненно важно в данном случае, так как например вопрос
Have you done your car? может означать: Have you washed your car?/Have you fixed your car?/Have you put some petrol in your car?

If someone wants me to do the washing, I will immediately do my leaving.
Если кто-нибудь хочет, чтобы я занялся уборкой, я сразу же занимаюсь своим уходом оттуда.

© London English School 22.04.2018 Все права защищены. Полное или частичное копирование материалов запрещено. При согласованном использовании материалов необходима ссылка на сайт londonnsk.ru

ЕЩЕ СТАТЬИ ОТ LONDON ENGLISH SCHOOL:

Источник

Значения глагола to make

Глагол to make является одним из наиболее широко распространенных в английской речи глаголов. Для него характерно одно основное значение – «делать, совершать, производить».

It is quite easy to make a kite on your own. Довольно просто сделать воздушного змея самостоятельно.
This vase is made of glass. Эта ваза изготовлена из стекла.
At this factory they make spare parts for cars. На этой фабрике производят запасные части для автомобилей.

Однако на базе этого значения существует еще несколько значений, отличающихся отдельными семантическими нюансами, в частности:

Читайте также:  Как сделать кранцы своими руками
изготавливать (своими руками) We made wonderful figures of clay in the morning. Утром мы изготовили прекрасные фигурки из глины.
производить It needs a lot of resources to make all the goods the modern society consumes. Нужно много ресурсов, чтобы произвести все те товары, которые потребляет современное общество.
совершать I don’t understand how you could make such a stupid mistake. Я не понимаю, как ты мог совершить такую глупую ошибку.

Еще одним важным значением глагола to make является значение «заставлять»:

Her parents made her get married. Ее родители заставили ее выйти замуж.

Теперь рассмотрим другие особенности этого глагола.

Грамматическая характеристика глагола to make

Глагол to make относится к группе неправильных глаголов, а значит три основные формы у него образуются не согласно правилам, а требуют запоминания. Вот эти формы:

the Infinitive (инфинитив, начальная форма) the Past Simple Tense (прошедшее простое время) the Past Participle (причастие прошедшего времени)
to make made made
I’d like to make dinner for you. / Я бы хотел приготовить для тебя ужин. I made a lot of mistakes in the test yesterday. / Я сделал много ошибок в тесте вчера. Have I made any progress in learning English? / У меня есть какие-нибудь продвижения в изучении английского языка?

Глагол to make является переходным глаголом и часто употребляется с прямым дополнением, поскольку обычно мы указываем в речи то, что именно мы «делаем / производим / совершаем».

My granny makes very yummy cakes. Моя бабушка готовит очень вкусные пирожные.
This machine makes a lot of noise. Этот аппарат производит много шума.
You sometimes make such surprising things. Ты иногда совершаешь удивительные поступки.

Данный глагол может употребляться во всех временных формах активного залога. Так выглядят эти временные формы, систематизированные в таблице:

Simple Continuous Perfect Perfect Continuous
Present the Present Simple Tense

make / makes

John makes a lot of friends at parties./ Джон заводит много друзей на вечеринках.

the Present Continuous Tense

am / is / are making

Be quiet! You are making a lot of noise! / Потише! Вы производите слишком много шума!

the Present Perfect Tense

have / has made

Jane has already made a lot of friends here. / Джейн уже завела здесь много друзей.

the Present Perfect Continuous Tense

have / has been making

This factory has been making cars for twenty years. / Эта фабрика производит автомобили уже двадцать лет.

Past the Past Simple Tense

made

Ann made lunch and cleaned the kitchen. / Энн приготовила ланч и убралась на кухне.

the Past Continuous Tense

was / were making

You were making something of paper when I entered the classroom. / Вы делали что-то из бумаги, когда я вошел в класс.

the Past Perfect Tense

had made

Before you said the answer we had made that stupid mistake. / Прежде, чем ты сказал ответ, мы уже сделали ту глупую ошибку.

the Past Perfect Continuous Tense

had been making

We had been making dinner for half an hour by the time you came to help us. / Мы уже полчаса готовили обед к тому времени, как ты пришел помочь нам.

Future the Future Simple Tense

will make

I will make a cake in the afternoon. / После обеда я буду готовить торт.

the Future Continuous Tense

will be making

At 9 o’clock we will be making supper, I think. / В 9 часов я буду готовить ужин, я думаю.

the Future Perfect Tense

will have made

Sue will have made supper by the time you return home. / Сью приготовит ужин к тому времени, как ты вернешься домой.

the Future Perfect Continuous Tense

will have been making

Sue will have been making a cake only for half an hour by the time you arrive. So it won’t be ready. / Сью будет готовить торт только в течение получаса к тому времени, как вы прибудете. Так что он еще не будет готов.

Переходность глагола to make определяет возможность его употребления в формах страдательного залога Passive Voice .

Simple Continuous Perfect Perfect Continuous
Present This cake is made of cookies, fruit and cream. / Этот торт готовится из печенья, фруктов и сливок. The cake is being made right now. / Торт готовят прямо сейчас. The cake has been made. We can have a cup of tea with a piece of cake. / Торт приготовлен. Мы можем выпить по чашечке чая с куском торта.
Past That cake was made by my sister. / Тот торт был приготовлен моей сестрой. The cake was being made by the cook when the guests arrived. / Торт готовился поваром, когда прибыли гости. The cake had been made when we came. So we had a cup of tea with it. / Торт был приготовлен, когда мы пришли. Поэтому мы выпили по чашке чая с ним.
Future The cake will be made tomorrow in the afternoon. / Торт будет готовиться завтра во второй половине дня. The cake will have been made by the time you come to take it to the birthday party. / Торт будет приготовлен к тому времени, как вы придете забирать его на вечеринку по случаю дня рождения.

Отсутствие некоторых форм в приведенной выше таблице свидетельствует не об отсутствии их у глагола to make, а о полном их отсутствии в парадигме форм страдательного залога.

Отличия глагола to make от глагола to do

В целом, основное отличие этих двух глаголов друг от друга заключается в том, что помимо базового значения «делать», присущего каждому из них, они обладают самостоятельными оттенками этого значения:

to make выполнять, производить небольшое действие I made a mistake in my homework. / Я сделал ошибку в моей домашней работе.
to do совершать поступок, выполнять сложную комбинацию действий I did my homework an hour ago. / Я сделал домашнюю работу час назад.

Однако грань между этими значениями порой очень тонка или вовсе размыта. Поэтому лучше запомнить наиболее распространенные устойчивые выражения с глаголами to make и to do , чтобы избежать ошибок в их употреблении. Ниже представлены устойчивые выражения с глаголом to do:

to do homework делать домашнее задание I forgot to do my homework yesterday. Я забыл про мою домашнюю работу вчера.
to do housework делать работу по дому My mother and sister do all the housework in our house. Мои мама и сестра выполняют всю работу по дому у нас.
to do a subject изучать предмет What subjects do you do at school? Какие предметы ты изучаешь в школе?
to do a course проходить учебный курс I did a two-month course in business English. Я прошел двухмесячный курс делового английского.
to do the shopping совершать покупки, ходить за покупками I always do the shopping at the weekends. Я всегда хожу за покупками в выходные.
to do research проводить исследование These scientists are doing medical research in spinal injuries. Эти ученые проводят медицинское исследование повреждений позвоночника.
to do smb. a favour сделать кому-либо одолжение Could you do me a favour? Ты не мог бы оказать мне услугу?
to do well хорошо учиться I did well at German, but my brother did badly. Я хорошо учился по немецкому языку, а мой брат учился плохо.
to do badly плохо учиться
to do something / nothing / anything сделать что-то / ничего / что угодно Those people do nothing all day. Can you do anything about it? Те люди ничего не делают целый день. Ты можешь что-нибудь с этим сделать?

Устойчивые выражения с глаголом to make

to make a mistake совершать ошибку He made a few mistakes in the test. Он сделал несколько ошибок в тесте.
to make a meal приготовить пищу I don’t usually make a meal in the evening. Я обычно не готовлю еду вечером.
to make money заработать деньги, сколотить состояние He made a lot of money when he was in China. Он заработал много денег, когда был в Китае.
to make friends завести друзей Tom made a lot of friends in Canada last year. Том завел много друзей в Канаде в прошлом году.
to make a decision принять решение Think about it before you make a decision. Подумай об этом, прежде чем примешь решение.
to make a noise шуметь I can’t work because those people are making a lot of noise. Я не могу работать, потому что эти люди сильно шумят.
to make progress добиться улучшения, прогресса Her English is much better now. She has made remarkable progress. Ее английский сейчас намного лучше. Она достигла значительных успехов.
to make a difference менять дело, иметь значение Now I have a car. It makes a big difference. Сейчас у меня есть машина. Это сильно меняет дело.
to make up one’s mind принять решение, решиться I can’t make up my mind to tell you about it. Я никак не могу решиться рассказать тебе об этом.

Особенности глагола to make в значении «заставлять»

Глагол to make может употребляться перед инфинитивом другого глагола в значении «заставлять побуждать кого-то сделать что-то». при этом инфинитив второго глагола употребляется без частицы to. Например:

John made me tell the truth. Джон заставил меня сказать правду.
Who made you do this? Кто заставил тебя сделать это?

Фразовые глаголы с основой to make

to make after преследовать, пуститься в погоню за… The police were making after the shoplifter. Полиция преследовала магазинного воришку.
to make away убежать, улизнуть The shoplifter was able to make away. Магазинный воришка смог улизнуть.
to make away with покончить с…, избавиться от… All the criminals try to make away with witnesses. Все преступники стараются избавиться от свидетелей.
to make for направляться, броситься в сторону чего-либо A crowd of people made for the exit. Толпа людей бросилась к выходу.
to make out различить, понять разобраться, справляться You can make out images of angels among the clouds in this picture. На этой картине среди облаков можно различить образы ангелов.
to make of расценивать I don’t know what to make of his words. Я не знаю, как расценивать его слова.
to make over переводить (деньги), передавать Her parents make over big sums of money to her once a month. Ее родители переводят ей большие суммы денег раз в месяц.
to make off сбежать, скрыться The thieves have made off with all the valuable things. Воры сбежали со всеми ценными вещами.
to make up составить, придумать; наносить макияж Please, make up a fairy-tale on your own!

A lot of women make up every day. Пожалуйста, придумайте сказку сами!

Многие женщины наносят макияж каждый день.

Подружитесь с глаголом to make и он станет вашим верным помощником!

Источник

Читайте также:  Блютуз выключатель света своими руками
Оцените статью