Skrypt Bash (napisz swój `make`)

0

Witam wszystkich :). Dopiero od niedawna mam przyjemność pracy w systemie Linux. Dostałam takie "prościutkie" zadanie do zrobienia. Zapewne dla osób, które posiadają umiejętność pisania skryptów to jest łatwizna, ale dla takiego "newbie" jak ja, niestety to czarna magia jest. Proszę o pomoc w tym zadaniu (każda wskazówka jest mile widziana). :)

Napisz skrypt podobny w działaniu do uniksowego programu make'. Program „kompilacji” pliku źródłowego do wynikowego cc -c' tworzy plik wynikowy .o ze źródłowego .c

Napisz skrypt, który otrzymawszy jako argument nazwę pliku źródłowego, rozpocznie powtarzalnie, w nieskończonej pętli, obserwację odpowiedniego pliku wynikowego, i ilekroć okaże się, że plik źródłowy został wygenerowany później, wykona kompilację. Pętla powinna zawierać małe, np. 1-sekundowe opóźnienie, aby nie obciążać systemu. Do porównania plików wykorzystaj opcję -nt/-ot testa.

Efekt powinien być taki, że po uruchomieniu skryptu w terminalu, wystarczy w edytorze okresowo zachować nową wersję pliku źródłowego, by kompilacja została przeprowadzona automatycznie z niewielkim opóźnieniem.

Pozdrawiam

Cherry Lips

1

Pomijajac fakt ze make w ten sposob nie dziala:

#!/bin/bash

SOURCE_FILE=$1

OBJ_FILE=${SOURCE_FILE%.*}.o

while true; do
    if [ $SOURCE_FILE -nt $OBJ_FILE ]; then
        echo "Recompiling $SOURCE_FILE"
        gcc -o $OBJ_FILE $SOURCE_FILE
    fi

    sleep 1
done

0

Dziękuję bardzo, jesteś moim bohaterem. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1