2013-04-13 2 views
-2
CFLAGS = -Wall 

libs = evento.h 

main: main.c $(libs) 
     gcc $(CFLAGS) -o main main.c $(libs) 

У меня есть этот make-файл и работа, проблема в том, что мне нужно сделать, что evento.h происходит из папки с именем/include внутри папки проекта и создает еще одну с именем/lib с файл libeventos.a внутри него. Я прочитал много учебников, но я действительно не понимаю.Замечательное время в 4a.m. утром с Makefiles

+0

Ваш Makefile строит программу под названием основной. Какой источник создает библиотеку? Это main.c, который используется для создания библиотеки? – suspectus

+0

Идея состоит в том, чтобы сгенерировать его с помощью -o, но я понятия не имею, почему это не работает, когда мы пытаемся их добавить. –

+0

http://pastebin.com/6U82puVw Моя идея - сделать что-то вроде этого –

ответ

0

Предполагая, что в каталоге main.c есть подкаталоги include и lib. Обратите внимание, что «gcc» в make-файле предшествует символ TAB.

ссылки main.c в библиотеке libevento.a.

main.c имеет зависимость ./include/evento.h

FLAGS = -Wall 
CFLAGS=-I../include $(FLAGS) 

main: main.c ./include/evento.h 
    gcc $(CFLAGS) -o main main.c -L./lib -levento 
Смежные вопросы