Como evito fazer para gerar e instalar páginas man?

0

Contexto: Estou compilando o OpenLDAP no Windows dentro do CygWin.

Como não estou interessado em man pages (e possivelmente em outra documentação, estou focado em fazer a compilação), já que posso obtê-los on-line, como posso informar o configure e / ou ignorar a geração (ou pelo menos sua instalação)?

    
por watery 16.03.2018 / 14:36

2 respostas

3

Antes de executar ./configure , edite Makefile.in na raiz do projeto para eliminar doc da variável SUBDIRS . Isso fará com que tudo no subdiretório doc seja ignorado durante a compilação e durante a instalação.

sed -i '/SUBDIRS/s/doc//' Makefile.in
    
por 16.03.2018 / 14:46
0

Se você olhar no arquivo make, deverá ver uma série de regras, sendo linhas sem espaços em branco no começo. A regra que você provavelmente está acostumado a usar é install , que geralmente é colocada na parte inferior do arquivo make, mas geralmente há muitas outras regras. Procure uma regra que se refira aos arquivos de origem da página de manual (eles geralmente têm uma extensão de arquivo de dígito único) ou algum diretório de documentação. Depois de encontrá-lo, você tem três opções: 1) torná-lo uma regra nula, removendo seus comandos (ou seja, as linhas depois que começam com espaço em branco), ou 2) remova referências a ela, ou seja, procure nas outras regras para comandos com o nome dessa regra ou 3) encontre uma regra de instalação já existente que não a execute.

Deixe-me dar um exemplo, usando um trecho de um makefile real:

default: all

all: lisp info

info:
    cd doc && $(MAKE) EMACS="$(EMACS)"

install: install-lisp install-info

install-lisp: lisp
    @$(SHELL) $(srcdir)/mkinstalldirs "$(DESTDIR)$(lispdir)";\

install-info: info
    @echo "cd doc && $(MAKE) EMACS=\"$(EMACS)\" 

dist: Makefile foo.elc
    $(MAKE) tarball \

clean:
    -rm -rf $(PACKAGE)* ;\

distclean: clean
    -rm -f config.log config.status config.cache Makefile 

No exemplo acima, você pode remover a linha depois de info: e install-info: , tornando-a uma regra nula ou, o melhor método, remover a palavra install-info da regra install (a linha que começa install: )

Agora, para a terceira (melhor) opção, dê uma segunda olhada no meu arquivo de exemplo e observe que existe um comando install-lisp , que você pode ver, faz tudo exceto para instalar a documentação porque esses são os dois únicos comandos no comando install . Portanto, neste exemplo, não há necessidade de alterar nada, apenas em vez de executar make install run make install-lisp . Seu arquivo make pode lhe dar uma opção semelhante. Sem examiná-lo, é impossível saber.

Por fim, e se você não quiser executar um make install ? Talvez você só queira executar uma baunilha make . Para isso, procure uma regra chamada default ; essa será a regra usada ao chamar make sem um comando específico. No meu exemplo, você vê que a regra default apenas aponta para outra regra chamada all e essa regra chama duas outras regras: lisp e info . Quando colei o exemplo, reduzi a maioria das linhas para brevidade, portanto, o texto da regra lisp não está aqui, mas deve ficar óbvio que você deseja usar esse comando, e não o comando info , então você poderia apenas executar make lisp .

    
por 16.03.2018 / 15:20