• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Psicopunk

Makefile

3 mensagens neste tópico

Boas, pessoal,

encontrei numa Makefile estas linhas de código. E preciso de saber o que significa  $< >$@  pois o (M4) é o macro processor m4 da GNU. No entanto, após pesquisa não consigo entender o que significa o que está à frente...

Se alguém puder ajudar... agradeço

P0.s : P0.m4 syndex.m4x mpc555.m4x robuLAB150.m4x CAN.m4x  // eu colokei o comentario

        $(M4) $< >$@

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou deixar-te um exemplo mais fácil para perceberes:

# compile all C files

%.o : %.c

@echo "  >> Compiling $<"

@$(CC) $(CFLAGS) -o $@ $<

$< devolve a path para o ficheiro com a extensão de origem (neste caso .c).

$@ devolve a path para o ficheiro com a extensão de destino (neste caso .o).

Espero ter ajudado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

faz sentido... Obrigado...

Diz-me só mais uma cena, ao correr a makefile diz-me que não tem uma regra para compilar o CAN.m4x

Eu não consegui perceber qual o problema...  a regra é a linha onde eu tinha dúvidas... nao percebo porque se queixa de não ter regra...

Tens aqui uma parte da Makefile:

# processor P0 type=mpc555:

robuLAB150.all : P0

robuLAB150.root += P0

CC555=$(CROSSGCCBIN)/ppc-elf32-gcc

CFLAGS_MPC555= -mcpu=powerpc -mhard-float -I$(FDLIBM)

%.555 : %.c

$(CC555) -o $@ $(CFLAGS_MPC555) -O2 -c $<

%.555 : %.s

$(CC555) -o $@ -c $<

P0 : P0.elf

$(UTILSPATH)/elf2sdxbin/elf2sdxbin $< $@

P0.elf : P0.555 $(P0.libs)

$(CC555) -o $@ $^ -L$(FDLIBM) -lm -Wl,-L$(LDSCRIPTPATH),-T,mpc555.ld,-Map,$@.map

#P0.s : P0.m4 syndex.m4x mpc555.m4x robuLAB150.m4x CAN.m4x  // eu colokei o comentario

# FG: with v6 we do not need anymore the following sed patch

# # sed command to transform A{B}© into A(B,C)

# sed -e 's/{\(.*\)}(\(.*\))/(\1,\2)/g' < $< > $<.tmp

# mv $<.tmp $<

$(M4) $< >$@

clean ::

$(RM) P0 P0.elf P0.555 P0.s P0.elf.map

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora