Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 25

Помогите разобраться с кодом make-файла

23.04.2018, 13:18. Показов 772. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые коллеги, всем привет!

Подскажите, пожалуйста, меняется ли язык командной оболочки в убунте от версии к версии? Дело в том, что один и тот же код ведет себя по разному в обеих этих версиях ОС (код прилагаю).

И еще: подскажите, где можно найти полное описание языка командного процессора BASH? Чтобы я мог разобраться с приведенным ниже кодом?

Заранее благодарен за помощь!

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
CC      = gcc
CFLAGS  = -Wall -fno-builtin -nostdinc -nostdlib
LD      = ld
 
OBJFILES = \
    loader.o  \
    common/printf.o  \
    common/screen.o  \
    kernel.o
 
image:
    @echo "Creating hdd.img..."
    @dd if=/dev/zero of=./hdd.img bs=512 count=16065 1>/dev/null 2>&1
 
    @echo "Creating bootable first FAT32 partition..."
    @losetup /dev/loop1 ./hdd.img
    @(echo c; echo u; echo n; echo p; echo 1; echo ;  echo ; echo a; echo 1; echo t; echo c; echo w;) | fdisk /dev/loop1 1>/dev/null 2>&1 || true
 
    @echo "Mounting partition to /dev/loop2..."
    @losetup /dev/loop2 ./hdd.img \
    --offset    `echo \`fdisk -lu /dev/loop1 | sed -n 10p | awk '{print $$3}'\`*512 | bc` \
    --sizelimit `echo \`fdisk -lu /dev/loop1 | sed -n 10p | awk '{print $$4}'\`*512 | bc`
    @losetup -d /dev/loop1
 
    @echo "Format partition..."
    @mkdosfs /dev/loop2
 
    @echo "Copy kernel and grub files on partition..."
    @mkdir -p tempdir
    @mount /dev/loop2 tempdir
    @mkdir tempdir/boot
    @cp -r grub tempdir/boot/
    @cp kernel.bin tempdir/
    @sleep 1
    @umount /dev/loop2
    @rm -r tempdir
    @losetup -d /dev/loop2
 
    @echo "Installing GRUB..."
    @echo "device (hd0) hdd.img \n \
           root (hd0,0)         \n \
           setup (hd0)          \n \
           quit\n" | grub --batch 1>/dev/null
    @echo "Done!"
 
all: kernel.bin
rebuild: clean all
.s.o:
    as -o $@ $<
.c.o:
    $(CC) -Iinclude $(CFLAGS) -o $@ -c $<
kernel.bin: $(OBJFILES)
    $(LD) -T linker.ld -o $@ $^
clean:
    rm -f $(OBJFILES) hdd.img kernel.bin
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2018, 13:18
Ответы с готовыми решениями:

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

Помогите разобраться с кодом
Народ!!! Помогите срочно!!! У меня скоро экзамен по инфе, а через 2 дня прогу надо показывать... короче прогу писал половинуя, а другую...

Помогите разобраться с кодом
Код - проверка ввода данных. Если вводиться &quot;x6x&quot;, то вызывается исключение, правильным вводом являются только символы, например:...

3
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
28.04.2018, 00:22
Цитата Сообщение от Megagluk Посмотреть сообщение
где можно найти полное описание языка командного процессора BASH?
Наверное, в

Bash
1
man bash
0
 Аватар для peter_irich
367 / 223 / 53
Регистрация: 18.10.2017
Сообщений: 2,388
28.04.2018, 19:43
Только этот код - не на bash. Надо читать описание make, его легко найти и на русском.
0
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
29.04.2018, 00:21
Создайте файл командной оболочки, занесите туда весь ваш код из правила image и вызывайте одной командой из makefile.
Так вам легче будет отлаживать ошибки.
Версия командной оболочки может изменяться, потому что пакет bash (скорее всего у вас именно эта оболочка) продолжает развиваться. Вряд ли что-то кардинально различное, нужно видеть ваши ошибки.
Пожалуй полное и удобочитаемое руководство по программированию в bash расположено здесь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.04.2018, 00:21
Помогаю со студенческими работами здесь

Помогите Разобраться С Кодом
В общем я в этой сфере совсем недавно, так что я многого не знаю :D Мне нужно чтобы в wordе прописывались реквизиты контрагента. Решил...

Помогите разобраться с кодом.
Здравствуйте. Я написал код, который обрабатывает кнопки с пульта ДУ сэмулировал всё в Аврстудио (имитировал сигналы прогой...

Помогите с кодом разобраться
Всем привет. Подскажите, где ошибся? Код в контроллер заливается, но с предупреждением &quot;integer conversion resulted in...

Помогите разобраться с кодом
Поймите меня правильно! Мне реально больше не у кого спросить и негде прочитать! Купил уже около 10 книг по Visual Basic но на этот вопрос...

Помогите разобраться с кодом
Есть прога: .model tiny ;буддем создавать com-файл .186 ;чтобы можно было было использовать команды shr ax,4 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru