Eli jos on alla oleva Makefile ja suoritetaan komento "gmake all". Niin miksi Makefile sääntö suoritetaan?
all: print
Makefile: print2
touch test.file
print:
@echo print1
print2:
@echo print2
all: print
Makefile: print2
touch test.file
print:
@echo print1
print2:
@echo print2
Vastaukset 4
Vanhimmat
Vastaisin, ja varmaan moni muukin vastaisi, jos kysymys olisi ymmärrettävä.
Mikä kaikki viestissäsi oli Makefilen sisältöä? Mikä sääntö suoritetaan (tai helpompi kysymys: mitä tulostuu ja mitä tiedostoja luodaan), kun annat komennon "gmake all"? Mitä sääntöjä mielestäsi pitäisi suorittaa?
Väännetään rautalangasta...
Mitä todellisuudessa tulostuu:
[abc$]gmake all
print2
touch test.file
print1
Mitä luulin että tulostuisi:
[abc$]gmake all
print1
Kokeilin asiaa mielenkiinnosta ja näyttäisi siltä kuin, että targetti jonka nimi on makefilen nimi (--makefile=[nimi]) lisätään mukaan aina. Älä kuitenkaan kysy miten sen saa pois.
Edelleen toivon että joku aukaisisi tämän ongelman.
Minulla on eräs makefile tiedosto missä samanlailla tulee suoritetuksi näitä "esi" sääntöjä parikin kappaletta, ei vaan ymmärrä MIKSI?