На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: Majestio
  
> makefile
    Здравствуйте такой вопрос понадобилось спортировать на Linux программу. Она написана на С++ с использованием boost-а и ACE. И состоит из нескольких модулей. Вот make-файл сборки одного из модулей:
    ExpandedWrap disabled
        (CXX):= g++
        (CFLAGS):=-g
              parser:main.o parser_cmd.o parser_xml.o
          $(CXX) $(CFLAGS)  -c  main.cpp   -lboost_thread-gcc41-mt-d-1_34_1  -lpthread
          $(CXX) $(CFLAGS)  -c  parser_cmd.cpp -lboost_thread-gcc41-mt-d-1_34_1  -lpthread
               $(CXX) $(CFLAGS)  -c  parser_xml.cpp -lboost_thread-gcc41-mt-d-1_34_1  -lpthread
              $(CXX) $(CFLAGS)  -o  parser main.o parser_cmd.o parser_xml.o  -lboost_thread-gcc41-mt-d-1_34_1  -lpthread


    Вопрос в том как переписать make-файл что бы не указывать компиляцию каждого файла, что то типа
    ExpandedWrap disabled
       (LIB)=-lboost_thread-gcc41-mt-d-1_34_1
       (LIB)+=-lpthread
       (CFLAGS):=-g
          parser:main.o parser_cmd.o parser_xml.o
              $(CXX) $(CFLAGS) $(LIB)  $^ -o   $@  
          %.o: %.cpp
              $(CXX) $(CFLAGS) $(LIB)  -c   $<  
            clean:
              rm *.o

    Правда этот вариант не работает. Уже год, как ни чего не писал под Linux, забыл, как make-файлы составлять.
      Цитата SL555 @
      Вопрос в том как переписать make-файл что бы не указывать компиляцию каждого файла, что то типа

      А что у тебя в данном случае не работает? Попробуй написать такую инструкцию:
      ExpandedWrap disabled
        %.o: %.cpp
            $(CC) $(CCFLAGS) -c $< -o $@
        Держи мой. Исходники в ./Sources/
        заголовки в ./Includes/
        маке в ./


        PROJ := $(word $(words $(subst /, ,$(CURDIR))),$(subst /, ,$(CURDIR)))
        OUTD :=
        LIBS := /usr/local/lib

        SRCC := $(wildcard Sources/*.c)
        SRCX := $(wildcard Sources/*.cc)
        OBJS := $(patsubst %.cc,%.o,$(SRCX)) $(patsubst %.c,%.o,$(SRCC))
        INC := Includes
        INCLUDES:= $(wildcard $(INC)/*.h)
        ARCH :=

        CC := gcc -pipe
        CXX := g++ -pipe

        OPT := -O3
        CFLAGS := $(OPT) -I$(INC) -Wall
        CXXFLAGS:= $(OPT) -I$(INC) -Wall
        LDFLAGS :=

        ################# DO NOT EDIT BELOW THIS LINE ################

        .SUFFIXES:

        .SUFFIXES: .o .h .cc .c

        %.o : %.cc %.h
        $(CXX) -c $(CXXFLAGS) $(CFLAGS) -o $@ $<

        %.o : %.cc
        $(CXX) -c $(CXXFLAGS) $(CFLAGS) -o $@ $<

        %.o : %.c %.h
        $(CC) -c $(CFLAGS) -o $@ $<

        %.o : %.c
        $(CC) -c $(CFLAGS) -o $@ $<

        $(OBJS) : Makefile

        default: all

        all : $(OBJS)
        $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $(OUTD)$(PROJ) $(ARCH) $(OBJS) $(LIBS)

        tags :
        etags $(SRCC) $(SRCX) $(INCLUDES)

        tree :
        touch .dep
        if test ! -d Sources; then mkdir Sources; fi
        if test ! -d Includes; then mkdir Includes; fi
        if test ! -f Sources/Makefile; then cp Makefile.qq Sources/Makefile; fi
        if test ! -f Includes/Makefile; then cp Makefile.qq Includes/Makefile; fi

        clean :
        /bin/rm -f $(OBJS) $(OUTD)$(PROJ)$(ARCH) core *~ *.bak Sources/*~ Includes/*~ *.oct

        ifeq ($(MAKECMDGOALS),depend)
        depend :
        makedepend -IIncludes -f.dep -- $(CFLAGS) -- $(SRCC) $(SRCX)

        else

        include .dep
        endif
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0210 ]   [ 15 queries used ]   [ Generated: 17.07.25, 21:35 GMT ]