Jump to content

    

"Make" проекта без исходных файлов (но с объектными)

Доброго дня,

Коллеги, подскажите, пожалуйста, можно ли настроить IAR так, чтобы при запуске Make из IDE обрабатывались только объектные или изменённые файлы?

Задача выглядит так:

Есть несколько исходных файлов, которые нужно скрыть от заказчика (договором это предусмотрено). Соответственно, видится вариантом передача ему проекта с частью "нескрытых" исходников и со всеми объектными файлами. В той части, которая  не скрыта от заказчика, последний может менять всё что захочет. Та же часть, которая должна быть скрыта, не имеет зависимостей от первой, и при сборке будет подключаться лишь как объектные файлы.

Сейчас если я удаляю такой файл, подлежащий "скрытию", то компилятор выдаёт ошибки несмотря на то, что объектники все есть.

Спасибо!

Share this post


Link to post
Share on other sites

Думаю стоит поглядеть в сторону статической библиотеки. Сначала собираете секретную часть исходников в такую библиотеку, а далее используете ее вместе с открытыми исходниками. Лично не пробовал

Share this post


Link to post
Share on other sites

Спасибо, да такой подход видится как наиболее правильный (наверное). Но также интересен "быстрый" подход: типа удалили файлы и перенастроили make...

Пока, как "быстрый" метод, работает следующий подход:

Сделать Build проекта, затем убрать исходники, которые надо скрыть, а в дереве файлов проекта указать соответствующие *.o файлы вместо *.c.

Но, может быть, есть более удобный вариант?

 

Share this post


Link to post
Share on other sites
2 часа назад, Димыч сказал:

Спасибо, да такой подход видится как наиболее правильный (наверное). Но также интересен "быстрый" подход: типа удалили файлы и перенастроили make...

Пока, как "быстрый" метод, работает следующий подход:

Сделать Build проекта, затем убрать исходники, которые надо скрыть, а в дереве файлов проекта указать соответствующие *.o файлы вместо *.c.

Но, может быть, есть более удобный вариант?

 

сделайте 2 ключа debug и release и оператор ifdef

и две ветки для обработки с *.o и *.c

Share this post


Link to post
Share on other sites

А почему не добавить Release-Lib а объектные собрать в библиотечный файл ?

(соответственно, в Release настройках проекта сделайте неактивными/неподключенными файлы исходников, которые упакованы в библиотеку, а подключите саму библиотеку)

перед передачей заказчику прибить Release-Lib и сами исходники.

ps

xlib.exe - в наличии.

 

Share this post


Link to post
Share on other sites

перенести все такие файлы в отдельную библиотеку и подключать ее к проекту через опции линкера

библиотеку можно отдельно модифицировать и наращивать у себя через отдельный IAR проект
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now