# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)
HOSTCC = gcc
HOSTCXX = g++
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -march=core2 -fomit-frame-pointer
HOSTCXXFLAGS = "${CFLAGS}"
Aqui, ao invés de ser "${CFLAGS}" o correto não seria "${HOSTCFLAGS}"?
Como que é feito isso?
Pelo que eu entendi, CXXFLAGS (aqui representado por HOSTCXXFLAGS), contém parâmetros passados para o compilador de linguagem C++, que por sua vez são os mesmos parâmetros passados para o compilador C, representado neste Makefile por HOSTCFLAGS.
Veja a descrição do CFLAGS:
CFLAGS e CXXFLAGS são ambas o nome de variáveis de ambiente ou variáveis do Makefile que são capazes de especificar switches adicionais a serem passados para um compilador no processo de compilação de software computacional.
Fonte: Wikipedia
Eu não sou programador C/C++, mas uma busca rápida no Google sobre Makefile mostra como funciona as declarações de variáveis em um pequeno programa exemplificado nesta página, segue o link:
http://pt.wikibooks.org/wiki/Programar_em_C/Makefiles#Definir_Vari.C3.A1veisNo início, nessa mesma página, ele enfatiza que o Makefile pode variar de um sistema para outro e que
não há normalização. Isso é visível no próprio Makefile do Debian/Ubuntu, onde essas variáveis são acrescidas de HOST como prefixo.
Então, se eu tenho uma variável HOSTCFLAGS declarada e quero passar o valor dessa para uma outra variável, logo, HOSTCXXFLAGS=${HOSTCFLAGS}!
Talvez exista uma variável declarada em uma outra biblioteca que é exportada para o Makefile, e que por sua vez possa ser utilizada dentro do Makefile! Eu não sei bem ao certo, mas acredito que não. Por ora, nada que testes e a colocação de toda essa teoria seja colocada em prática!
Enquanto aos testes, e aí @galactus, como está se saindo? Eu quero também testar essas configurações, mas estou ainda em dúvida com relação a esses parâmetros e essas variáveis.