Primeiro, você precisa remover a clean
dependency do seu JYOTI
target. Caso contrário, tudo é sempre construído do zero.
Em seguida, você precisa incluir o diretório do arquivo de objeto na regra padrão, por exemplo:
$(PLATFORM)/%.o: %.cpp
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $<
O mais simples é certificar-se de que o diretório $ (PLATFORM) esteja sempre lá e não seja excluído pelo alvo limpo.
Para que isso funcione, você também precisa especificar o diretório $(PLATFORM)
na sua lista de objetos, por exemplo:
OBJS = $(BASICOBJS:%=$(PLATFORM)/%)