Pessoal, preciso de uma ajudinha!
Sempre trabalhei no Unix, e agora estou tentando portar pro Linux, várias coisas.
Estou reconfigurando todos os meus Makefiles e estou com uma dificuldade enorme de usar o comando awk dentro dele. Vou colocar meu comando aqui como exemplo para facilitar.
No Makefile do Unix eu usava assim:
CSW_PROJ:sh = echo `pwd | xargs dirname | xargs dirname |xargs basename` | nawk -F"_" '{ printf $1 }'
E no Linux eu estava tentando usar assim:
CSW_PROJ:= $(shell echo `pwd | xargs dirname | xargs dirname |xargs basename` | nawk -F"_" '{ printf $1 }')
Mas não tá rolando. Ele retorna este erro:
nawk: cmd. line:1: (FILENAME=- FNR=1) fatal: printf: no arguments
O comando sozinho funciona e retorna o que eu quero. Mas dentro do Makefile com shell não! =[
Outro exemplo:
REF_BASE:=$(shell pwd | awk -F/ '{print $2}')
ele só faz o pwd, e ignora oq tem dps do pipe... mas pelo menos não retornou erro. =/
Já procurei todo o tipo de informação pra tentar fazer isso funcionar mas n achei nada que me ajudasse. Consegui arranjar um método alternativo usando cut, mas tem outros comandos no meu Makefile que preciso adicionar coisas no print. Precisaria mto usar o awk, e n sei pq não funciona!! Alguém tem alguma idéia?
Valeu!!