# Variables. HTML = .html # Cambie esto por .htm si es necesario INFO = .info # Cambie esto por .inf si es necesario TEXI = .texi # Cambie esto por .txi si es necesario VPATH += src/makedoc ifdef DJDIR EXE =.exe FLAGS = -s -O3 -ffast-math -fomit-frame-pointer else INFODIR = /usr/local/info/ endif # Módulos a partir de los cuales se genera todo MODULOS = ahack abi api allegro const changes faq gracias help thanks SRC = $(addprefix src/,$(addsuffix ._tx,$(MODULOS))) DIRTXT = ./txt DESTTXT = $(addprefix $(DIRTXT)/,$(addsuffix .txt,allegro abi faq help ahack) \ AUTHORS CHANGES AUTORES GRACIAS THANKS) DIRHTML = ./html DESTHTML = $(addprefix $(DIRHTML)/,$(addsuffix $(HTML), $(MODULOS))) DIRCHM = ./chm DESTCHM = $(addprefix $(DIRCHM)/,$(addsuffix $(HTML), $(MODULOS))) DIRRTF = ./rtf DESTRTF = $(addprefix $(DIRRTF)/,$(addsuffix .rtf,allegro)) DIRINFO = ./info DESTINFO = $(addprefix $(DIRINFO)/, allegroes$(INFO)) DIRTEXI = ./texi DESTTEXI = $(addprefix $(DIRTEXI)/, allegro$(TEXI)) CLEANDEST = $(DESTTXT) $(DESTHTML) $(DESTRTF) $(DESTINFO) $(DESTTEXI) \ $(DESTCHM) .PHONY : txt html rtf info texi todo _info chm # Programa que genera los ficheros MAKEDOC = obj/makedoc$(EXE) _info: @echo Para generar la documentación tiene varias opciones del make: @echo txt, html, rtf, info, texi, chm, todo @echo Por ejemplo, si sólo quiere la documentación html y rtf teclee: @echo make html rtf @echo Para limpiar dispone de las opciones clean y veryclean @echo Para instalar la documentación, pruebe con install o uninstall # Dependencias de cada opción del Makefile txt: $(MAKEDOC) $(DESTTXT) @echo Documentación en formato txt generada en $(DIRTXT) html: $(MAKEDOC) $(DESTHTML) @echo Documentación en formato html generada en $(DIRHTML) ifdef DJDIR chm: $(MAKEDOC) $(DIRCHM)/allegro.chm @echo Documentación en formato chm generada en $(DIRCHM) else chm: @echo La documentación chm sólo puede generarse bajo Windows. endif rtf: $(MAKEDOC) $(DESTRTF) @echo Documentación en formato rtf generada en $(DIRRTF) info: $(MAKEDOC) $(DESTINFO) @echo Documentación en formato info generada en $(DIRINFO) texi: $(MAKEDOC) $(DESTTEXI) @echo Documentación en formato texi generada en $(DIRTEXI) todo: html txt rtf texi info chm @echo Documentación completa generada. # Reglas para generar ficheros $(DIRHTML)/%$(HTML): src/%._tx $(MAKEDOC) @$(MAKEDOC) -html $@ $< $(DIRCHM)/allegro.chm: src/*._tx $(DESTCHM) $(MAKEDOC) $(MAKEDOC) -chm chm/allegro$(HTML) src/allegro._tx -hhc chm/allegro.hhp $(DIRCHM)/%$(HTML): src/%._tx $(MAKEDOC) @$(MAKEDOC) -ochm -html $@ $< $(DIRTXT)/%.txt: src/%._tx $(MAKEDOC) @$(MAKEDOC) -ascii $@ $< # @$(MAKEDOC) -warn -ascii $@ $< $(DIRTXT)/AUTHORS: src/thanks._tx $(MAKEDOC) @$(MAKEDOC) -part -ascii $@ $< $(DIRTXT)/CHANGES: src/changes._tx $(MAKEDOC) @$(MAKEDOC) -ascii $@ $< $(DIRTXT)/AUTORES: src/gracias._tx $(MAKEDOC) @$(MAKEDOC) -part -ascii $@ $< $(DIRTXT)/GRACIAS: src/gracias._tx $(MAKEDOC) @$(MAKEDOC) -part -ascii $@ $< $(DIRTXT)/THANKS: src/thanks._tx $(MAKEDOC) @$(MAKEDOC) -part -ascii $@ $< $(DIRRTF)/%.rtf: src/%._tx $(MAKEDOC) @$(MAKEDOC) -rtf $@ $< $(DIRTEXI)/%$(TEXI): src/%._tx $(MAKEDOC) @$(MAKEDOC) -txi $@ $< $(DIRINFO)/%es$(INFO): $(DIRTEXI)/%$(TEXI) $(MAKEDOC) makeinfo --no-split -o $@ $< $(MAKEDOC): makedoc.c makechm.c makehtml.c makeman.c makemisc.c makertf.c maketexi.c maketxt.c gcc $(FLAGS) -o $@ $^ -lm # Regla para limpiar cosas RM = rm -f RMDIR = rmdir clean: $(RM) $(CLEANDEST) $(RM) $(DIRHTML)/*$(HTML) $(DIRCHM)/*$(HTML) $(DIRCHM)/allegro.* @echo Documentos borrados. Teclee make veryclean para limpiar el generador. veryclean: clean $(RM) $(MAKEDOC) # $(RMDIR) $(DIRTXT) $(DIRHTML) parece que no hay forma estándar de hacer esto... @echo Generador eliminado. # Regla para instalar la documentación install: ifdef DJDIR -cp $(DESTINFO) $(DJDIR)/info/allegsp$(INFO) -install-info $(DJDIR)/info/allegsp$(INFO) $(DJDIR)/info/dir else install-info --section Development -- $(DESTINFO) endif # Regla para desinstalar la documentación uninstall: ifdef DJDIR -install-info --delete $(DJDIR)/info/allegsp$(INFO) $(DJDIR)/info/dir -rm $(DJDIR)/info/allegsp$(INFO) else install-info --remove $(DESTINFO) endif