реклама на сайте
подробности

 
 
> многофаловый проект, Linux
TigerSHARC
сообщение Aug 25 2012, 18:37
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Волей судьбы в руки попал интереснейший проект в исходниках. Но в папке прсото *.c и *.h файлы. Известно, что автор собирал проект под Linux. Теперь ломаю голову как откомпилить всё в бинарный файл. Нашёл пример как использовать Makefile:

CODE
# Makefile for printup
printup: print_up.o main.o
gcc -o printup print_up.o main.o
print_up.o: print_up.c print_up.h
gcc -c print_up.c
main.o: main.c
gcc -c main.c
clean:
rm -f *.o
rm -f printup


но у меня в проекте около 150 *.c файлов и вписывать каждый в Makefile - утомительно(хотя если нет альтернатив то деваться некуда).

Вопрос: как собрать проект под Linux быстро? В Eclipse это сделать удобнее?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
TigerSHARC
сообщение Aug 26 2012, 07:17
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



если честно немного непонятно как им пользоваться... слишком много переменных. есть рабочий вариант?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 26 2012, 16:46
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Вот:
Код
    EXE     = program-name
    DIRS    := src
# includes
    INCS    := $(patsubst %, -I "%", $(DIRS))
#calc obj files list
    OBJS    := $(SRCS)
    OBJS    += $(wildcard $(addsuffix /*.c, $(DIRS)))
    OBJS    := $(notdir $(OBJS))
    OBJS    := $(OBJS:.c=.o)
$(EXE): $(OBJS)
    gcc $(OBJS) -o "$(EXE)"
VPATH := $(DIRS)
%.o: %.c
    gcc -c -o $@ $<

Соберёт все *.c файлы из папки src в программу с именем program-name.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 15:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016