2011-09-23 10 views
10

Mam kilka plików .c i .h z niektórymi częściami kodu wyłączonymi przez umieszczenie bloku kodu w dyrektywach pre-procesora, np.Definiowanie zmiennej procesora dla wszystkich plików w make

#ifdef FOOBAR 
// some code that can be compiled if needed by defining FOOBAR in pre-processor. 
#endif 

Nie muszę zdefiniować FOOBAR tak, że jego zdefiniowane dla każdego pliku, który jest opracowywany przez gcc za pomocą make.

Czy istnieje sposób, aby to zrobić z opcją wykonania lub Makefile?

Dzięki.

Odpowiedz

16

dodać opcję kompilatora -DFOOBAR do makijażu zmiennej CFLAGS

+3

Należy zauważyć, że nie jest to tylko gcc-ism ale częścią standardu POSIX dla kompilatora C pw. –

+0

Dzięki ... chociaż miałem kilka folderów, każdy z własnym 'Makefile' i musiałem dodać to' CFLAGS = ... 'do każdego z nich, zadziałało. Żałowałam, że nie ma czegoś takiego, gdy dzwonię do marki. Jak np. 'make -flags -DFOOBAR' lub coś podobnego. Ale dzięki za odpowiedź. – mtahmed

+4

@mtahmed, jest. Po prostu umieść definicje zmiennych w linii komend make, 'make CFLAGS = '- O3 -march = native -DFOOBAR''pl –

Powiązane problemy