С CBuilder'a я перешел на GCC+mc. Для написания лаб в универ мне хватает. Когда пишу прогу из нескольких модулей, пишу Makefile, например:
CFLAGS += -Wall -g
all: main
scaner.o: scaner.cpp scaner.h
g++ -c $(CFLAGS) scaner.cpp
diagram.o: diagram.cpp diagram.h scaner.h semantics.h
g++ -c $(CFLAGS) diagram.cpp
semantics.o: semantics.cpp semantics.h
g++ -c $(CFLAGS) semantics.cpp
main.o: main.cpp diagram.h
g++ -c $(CFLAGS) main.cpp
main: main.o semantics.o diagram.o scaner.o
g++ $(CFLAGS) main.o semantics.o diagram.o scaner.o -o main
clean:
rm *.o ./main
Подкажите как автоматически создавать Makefile'ы, как это делает KDevelop.
Зарание благодарен.
Как автоматически создавать Makefile'ы ?
Модератор: Модераторы разделов
-
edoc_modnar
- Бывший модератор
- Сообщения: 1638
- Статус: Форум больше не посещаю
Re: Как автоматически создавать Makefile'ы ?
http://beta.linux.org.ru/books/GNU/automak...ake-ru_toc.html
http://beta.linux.org.ru/books/GNU/autocon...onf-ru_toc.html
Но в данном случае оно того не стОит.
http://beta.linux.org.ru/books/GNU/autocon...onf-ru_toc.html
Но в данном случае оно того не стОит.
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
KOT
- Сообщения: 21
Re: Как автоматически создавать Makefile'ы ?
random_code писал(а): ↑25.03.2006 19:59http://beta.linux.org.ru/books/GNU/automak...ake-ru_toc.html
http://beta.linux.org.ru/books/GNU/autocon...onf-ru_toc.html
Но в данном случае оно того не стОит.
Да данном примере(или более простом) можно продемонстрировать...., ну для наглядности.
Ну пожалуйта...
-
flook
- Сообщения: 585
- Статус: Просто flook
Re: Как автоматически создавать Makefile'ы ?
В каждом из нас спит гений... и с каждым днем все крепче...
-
Zeus
- Сообщения: 694
-
flook
- Сообщения: 585
- Статус: Просто flook
Re: Как автоматически создавать Makefile'ы ?
В программисты на Java/.NET и им подобные если только :P просьба не обобщать в любом случае.
В каждом из нас спит гений... и с каждым днем все крепче...
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Как автоматически создавать Makefile'ы ?
Код, дуже тобі дякую. Серьёзно; давно про авто* почитать собираюсь, да по-ангельски читать всё лень, а на родном чё-то не нашёл.(random_code @ Mar 25 2006, в 18:59) писал(а):http://beta.linux.org.ru/books/GNU/automak...ake-ru_toc.html
http://beta.linux.org.ru/books/GNU/autocon...onf-ru_toc.html
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
v04bvs
- Сообщения: 636
- ОС: Debian GNU/Linux
Re: Как автоматически создавать Makefile'ы ?
Я один раз написал Makefile и потом его без каких-либо изменений использовал во всех универских программах. Почитайте внимательно info make и man gcc (ну или вот мой, он для С, переделать для C++ не составит труда, на английский не обращайте внимания
Код: Выделить всё
# It is universal Makefile for simple programs in C language
# It can automatically processed all source files in current directory
# In current directory can be placed only 1 project
################# Text below must be changed ############################
# Project options
# name of the binary file of the program
program_name = $(shell basename $(shell pwd))
# all .c files needed by project. By default uses all .c files
sources = $(wildcard *.c)
# compiler options
# Which command for compile and linking programs must be used
CC = gcc
# Flags for compiling .c files and for linking .o files into single binary
CFLAGS = -Wall
# Flags for preprocessing. It only used when compiling .c files
CPP =
# Flags for linking. It only used when linking .o files
LDFLAGS =
################## Text below must *not* be changed #######################
.PHONY: all, clean, distclean
all: $(program_name)
clean:
rm -f $(program_name) $(sources:%.c=%.o)
distclean:
rm -f $(program_name) $(sources:%.c=%.o) $(sources:%.c=.%.d)
$(program_name): $(sources:%.c=%.o)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) -MMD -MF $(<:%.c=.%.d) -MP -c -o $@ $<
-include $(sources:%.c=.%.d)