Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] compilacja z palca przez make a flagi make.conf
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish)
View previous topic :: View next topic  
Author Message
Andry77
n00b
n00b


Joined: 03 Mar 2006
Posts: 67

PostPosted: Wed Jul 25, 2012 10:36 am    Post subject: [SOLVED] compilacja z palca przez make a flagi make.conf Reply with quote

Witam

Czy ktoś mi możne powiedzieć jak się mają flagi z make.conf do kompilacji programów z palca przez make.
Czy zmienne są zaciągane jeśli nie kompiluje się przez emerge czy trzeba ustawić (przez export) zmienne typu CFLAGS i CXXFLAGS w celu optymalizacji?

EDIT:
Rozwiązanie zaproponowane przez Jacekalex jest bardzo dobre i mnie zadowala - więc [SOLVED]

Dziękuję
:)


Last edited by Andry77 on Thu Jul 26, 2012 7:03 am; edited 4 times in total
Back to top
View user's profile Send private message
Garrappachc
Guru
Guru


Joined: 26 Dec 2008
Posts: 356
Location: Kraków

PostPosted: Wed Jul 25, 2012 11:47 am    Post subject: Reply with quote

Make.conf działa tylko via emerge. Możesz ustawić sobie flagi przy konfiguracji.
Code:

CXXFLAGS="-O2 -fomit-frame-pointer" ./configure
CXXFLAGS="-O2 -fomit-frame-pointer" cmake .


A po co Ci kompilowanie z palca? Nie ma ebuilda do czegoś? Lepiej już szybko coś skrobnąć...
_________________
De profundis clamavi ad Te, Domine

emerge --info | virtual aviation
Back to top
View user's profile Send private message
Andry77
n00b
n00b


Joined: 03 Mar 2006
Posts: 67

PostPosted: Wed Jul 25, 2012 1:11 pm    Post subject: Reply with quote

Garrappachc wrote:
Make.conf działa tylko via emerge. Możesz ustawić sobie flagi przy konfiguracji.
Code:

CXXFLAGS="-O2 -fomit-frame-pointer" ./configure
CXXFLAGS="-O2 -fomit-frame-pointer" cmake .


A po co Ci kompilowanie z palca? Nie ma ebuilda do czegoś? Lepiej już szybko coś skrobnąć...


Mam sktypcie cos w stylu
Quote:
export CXXFLAGS="....."

Czyli jednak jest to wymagane?
A co z kompilacja kernela?
Przecież kompiluje się przez make..
Back to top
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2824

PostPosted: Wed Jul 25, 2012 3:33 pm    Post subject: Reply with quote

Configure (i cale te durne autotoolsy) sprawdzaja zmienne srodowiskowe i generuja Makefile z nimi, sam make nie pobiera sobie tych zmiennych, chyba, ze mu specjalnie wpiszesz w Makefile by to robil albo podasz je przez "make CFLAGS='-Os'". Zobacz sobie kernelowy Makefile i Kbuild.
_________________
BitBucket -- better-initramfs to address many usecases and linux's limitations.
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 490

PostPosted: Wed Jul 25, 2012 3:59 pm    Post subject: Reply with quote

Ja mam flagi kompilatora skopiowane z make.conf do /etc/bash/bashrc, i jak kompiluje z palca, to zazwyczaj zaskakuje od razu.
Code:
grep FLAGS /etc/bash/bashrc
CFLAGS="-march=core2 -O2 -pipe"
CPPFLAGS="-march=core2 -O2 -pipe"
CXXFLAGS="-march=core2 -O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"

Pozdrawiam
8)
Back to top
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2824

PostPosted: Wed Jul 25, 2012 6:23 pm    Post subject: Reply with quote

Nie wyglada bys je exportowal, w takim wypadku env['CFLAGS'] nic nie zwroci, te zmienne lokalne nie zostana przekazane do configure czy make. Nie wyglada na to, ze to w ogole dziala.

proof of concept
Code:
piotr@frontier ~ % foo=BAR
piotr@frontier ~ % sh -c 'echo $foo'

piotr@frontier ~ % export foo
piotr@frontier ~ % sh -c 'echo $foo'
BAR

_________________
BitBucket -- better-initramfs to address many usecases and linux's limitations.
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 490

PostPosted: Wed Jul 25, 2012 6:30 pm    Post subject: Reply with quote

SlashBeast wrote:
Nie wyglada bys je exportowal, w takim wypadku env['CFLAGS'] nic nie zwroci, te zmienne lokalne nie zostana przekazane do configure czy make. Nie wyglada na to, ze to w ogole dziala.

proof of concept
Code:
piotr@frontier ~ % foo=BAR
piotr@frontier ~ % sh -c 'echo $foo'

piotr@frontier ~ % export foo
piotr@frontier ~ % sh -c 'echo $foo'
BAR

Słuszna uwaga, poprawione:
Code:
grep FLAGS /etc/bash/bashrc
export CFLAGS="-march=core2 -O2 -pipe"
export CPPFLAGS="-march=core2 -O2 -pipe"
export CXXFLAGS="-march=core2 -O2 -pipe"
export LDFLAGS="-Wl,-O1 -Wl,--as-needed"


Code:
$ sh -c 'echo $CFLAGS'
-march=core2 -O2 -pipe

Dziękuję
:)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum