2015-02-28 2 views
-1

Как известно, в приборе, когда мы используем командуMakefile конфигурация всей системы

make [file-name] 

Он автоматически компилирует некоторые флаги:

-ggdb -O0 -std=c99 -Wall - Werror 

мне нужно знать, в каком каталоге CS50 отредактированный файл Makefile, потому что я хочу настроить свой собственный Makefile для всей системы, с помощью которой я могу сделать любой файл .cpp. Когда я компилирую файл Си ++ с make он автоматически компилирует с g++, но я хочу, чтобы скомпилировать .cpp файла с clang++ компилятором, добавив некоторый важный флаг такого для -g для отладки -O0 для сборки коды.

Я спрашиваю, как создать Makefile по этим конкретным причинам, если это возможно.

ответ

0

Сделать использование Makefile в текущем каталоге и Implicit-Rules. Вы можете изменить поведение неявных правил, изменив переменные, используемые этими явными правилами. Например, чтобы изменить компилятор для .cpp файлов, вы можете установить собственную переменную CXX, либо

  1. в окружающей среде (Make использует его):

    CXX=clang++ make [file-name] 
    #OR 
    export CXX=clang++; make [file-name] 
    
  2. в местный Makefile:

    CXX:=clang++ 
    #The implicit rule, which you'll find in the link, takes care of the rest 
    
+0

в любом случае, если вы не женаты на ваш M ake-based solution, я рекомендую вам взглянуть на tup (https://github.com/gittup/tup), что делает создание программного обеспечения намного менее болезненным. – PSkocik

+0

Могу ли я использовать его для проекта java и для сложного проекта javafx? – ehzawad

Смежные вопросы