PDA

Показать полную графическую версию : Проблемы с созданием Makefile...


Zippy
17-08-2004, 20:28
Есть 3 файлика:
Файл func1.h:
#ifndef FUNC1_H
#define FUNC1_H

int SomeFunc( int parameter );

#endif
Файл func1.с:
#include "func1.h"
int SomeFunc( int parameter )
{
* *return parameter;
}

Файл proga.с:
#include <stdio.h>
#include "func1.h"

int main()
{
* *printf( "Результат выполнения функции: %d\n", SomeFunc( 100 ) );
}
... и makefile:
func1.o : func1.c
gcc -c func1.c
proga.o : proga.c func1.h
gcc -c proga.c
proga : proga.c func1.с
gcc func1.o proga.o -o proga

Запускаю его командой make -f makefile, а он мне пишет, что строках 2, 4, 6 "Need an operator".
Что я не так делаю?!

ivank
18-08-2004, 00:41
func1.o: func1.c
gcc -c func1.c
proga.o: proga.c func1.h
gcc -c proga.c
proga: proga.c func1.„ѓ
gcc func1.o proga.o -o proga

Eti stroki dolzhny s tabov nachint'sya (esli forum s"el taby, ya ne vinovat)

Vmesto pyatoi strochki dolzho byt':
proga: proga.o func1.o
Inache ono voobsche rabotat' ne budet

Исправлено: ivank, 0:46 18-08-2004

Добавлено:

Sry za avto-translit, russkoj klavy poblizosti ne naidesh'.

Zippy
18-08-2004, 12:43
Добавил табуляторы, однако при выполнении происходит компиляция только первого файла func1.c и больше ничего не происходит.

Barracuda
18-08-2004, 15:44
а табуляторы куда добавляли?
дело в том, что каждый тэг должен начинаться с начала строки, за ним  следуют зависимости и под ним, через таб - акшны для него. А ля:

<DEFINITIONS>
<tag1>: <dependence> ..
    <action1_1>
    <action1_2>
<tag2>: <dependence> ..
    <action2_1>
    <action2_2>

Zippy
18-08-2004, 18:13
Barracuda
Так и сделал, в строки 2, 4, 6 добавил вперед табы, а появляется только func1.o и больше ничего, остальные действия выполнять не хочет...:(

ivank
18-08-2004, 19:38
Use "make proga -f makefile"

OR: add target all

like this:all: proga
* *echo yo! life is beautiful!

Исправлено: ivank, 19:41 18-08-2004




© OSzone.net 2001-2012