A gcc-nél valamiért az a szokás, hogy alamafa.c
esetén a függőségeket tartalmazó fájl almafa.d
, de ez nem igazán tökéletes megoldás, ugyanis normál "ls" kimenetében is benne lesz - feleslegesen. Legalábbis engem zavar. Ezért a Linux kernelhez hasonló megoldást választottam, mely szerint egy ponttal kezdődik a név, ami rejtettnek számít. Bár nem pontosan az ott látható .cmd fájlok ezek. Tehát a példakód esetén egy fájlnév ilyen:
apps/elso/.elso.d
Egyébként ezt kipróbáltam kb. 20-30 fájlból álló projektnél is (a nagyprogramom nagyságrendben ekkora volt évekkel ezelőtt, ronda Makefile-t tartalmazott, és végre ki tudtam pucolni :) )
"make" parancs kimenete Linuxon:
CXX apps/elso/elso.cc
CXX lib/common/common.cc
AR lib/common/common.a
LD apps/elso/elso
CXX apps/masodik/masodik.cc
CXX lib/dynamic/common_dyn.cc
SHARED lib/dynamic/common_dyn.so
LD apps/masodik/masodik
Ugyanez Mac-en:
CXX apps/elso/elso.cc
CXX lib/common/common.cc
AR lib/common/common.a
LD apps/elso/elso
CXX apps/masodik/masodik.cc
CXX lib/dynamic/common_dyn.cc
SHARED lib/dynamic/common_dyn.dylib
LD apps/masodik/masodik
Letöltés: http://panther.inf.elte.hu/linux/programming/makefile-test/makefile-tes…
- Panther blogja
- A hozzászóláshoz be kell jelentkezni
- 677 megtekintés