Re: [AD] d_ctext_proc and other remarks

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


[I'll address the d_ctext_proc issue in another reply]

> Some other remarks.
>
> The doc (in makefile target) talks of 'installall' as a target, but it
> doesn't exists under Linux (it's defined in makefile.all, but this file
> isn't included in the main makefile)

Yup. We can't build the three libraries under Unix without reconfiguring, so 
this is not fixable within the current framework.

There are other problems:
- 'make demo' or 'make grabber' don't work under Unix,
- 'all' is not marked as non-Unix only,
- 'info' is not marked as Unix only.

Fixed thusly on trunk and branch.

> Modules (in linux/umodules) are loaded 2 times.

Could you elaborate a bit? If I put a printf() right after dlopen() in 
unix/umodules.c, I see only one line per module in module.lst with the main 
test program.

-- 
Eric Botcazou
Index: makefile.all
===================================================================
RCS file: /cvsroot/alleg/allegro/makefile.all,v
retrieving revision 1.38
diff -u -r1.38 makefile.all
--- makefile.all	20 Jun 2003 06:00:59 -0000	1.38
+++ makefile.all	26 Jun 2003 18:07:31 -0000
@@ -30,12 +30,13 @@
 #        clean:             remove object files.
 #        distclean:         remove objects and executables.
 #        veryclean:         remove all generated files.
-#        depend:            regenerate the dependency files.
 #        compress:          compress the executable files (DJGPP, MinGW32, MSVC).
+#        depend:            regenerate the dependency files.
 
 
 
 # -------- read version information --------
+
 include makefile.ver
 
 
Index: makefile.in
===================================================================
RCS file: /cvsroot/alleg/allegro/makefile.in,v
retrieving revision 1.49
diff -u -r1.49 makefile.in
--- makefile.in	14 Jun 2003 19:55:32 -0000	1.49
+++ makefile.in	26 Jun 2003 18:07:31 -0000
@@ -3,7 +3,7 @@
 #  by the configure script, to produce the real makefile that does the work.
 
 INSTALL_TARGETS = full-install
-DEFAULT_TARGETS = all
+DEFAULT_TARGETS = full-build
 
 srcdir = @srcdir@
 builddir = .
@@ -112,7 +112,10 @@
 
 @SET_MAKE@
 
-# List of sources for libraries and programs.
+
+
+# -------- list of sources for libraries and programs --------
+
 include $(srcdir)/makefile.lst
 
 ALLEGRO_EMPTY_LIST =
@@ -198,7 +201,9 @@
 $(obj_unix_asmdef_inc): src/i386/asmdef$(EXE)
 	src/i386/asmdef$(EXE) $(obj_unix_asmdef_inc)
 
-# Documentation.
+
+
+# -------- documentation --------
 
 DOCBASEFILES = ahack changes faq help thanks allegro const abi api packfile readme
 
@@ -212,6 +217,24 @@
 
 MAKEDOC = docs/makedoc$(EXE)
 
+docs: $(DOCS)
+
+docs-dvi: $(srcdir)/docs/allegro.dvi
+	@echo "Device independant documentation generated: docs/allegro.dvi"
+	@echo "Run make docs-ps if you wish to generate postscript documentation (you need dvips)"
+
+docs-ps: $(srcdir)/docs/allegro.ps
+	@echo "Postscript documentation generated: docs/allegro.ps"
+	@echo "You can compress it with gzip or running make docs-gzipped-ps"
+
+docs-gzipped-ps: $(srcdir)/docs/allegro.ps
+	gzip -9 docs/allegro.ps
+	@echo "Compressed postscript documentation generated: docs/allegro.ps.gz"
+
+docs-devhelp: docs/devhelp/allegro.devhelp
+	@echo "DevHelp documentation generated: docs/devhelp/allegro.devhelp"
+	@echo "To use, please install the above file."
+
 $(filter %.txt,$(filter-out readme.txt, $(DOCS))): docs/txt/%.txt: docs/src/%._tx $(MAKEDOC)
 	$(MAKEDOC) -ascii $@ $<
 
@@ -258,10 +281,16 @@
 docs/devhelp/allegro.devhelp: $(filter %.html,$(DEVHELPDOCS)) docs/src/allegro._tx $(MAKEDOC)
 	$(MAKEDOC) -devhelp docs/devhelp/allegro.html docs/src/allegro._tx
 
-# Dependencies and rules for building libraries and simple programs.
+info:
+	@cat makefile.info
+
+
+
+# -------- dependencies and rules for building libraries and simple programs --------
+
 -include makefile.dep
 
-all: lib modules programs docs
+full-build: lib modules programs docs
 
 lib: $(ALLEGRO_LIB_TARGETS)
 
@@ -269,31 +298,45 @@
 
 programs: $(ALLEGRO_EXE_TARGETS)
 
-docs: $(DOCS)
+suid: $(ALLEGRO_EXE_TARGETS)
+	chown root.allegro $?
+	chmod 4750 $?
+	touch suid
 
-info:
-	@cat makefile.info
 
-docs-dvi: $(srcdir)/docs/allegro.dvi
-	@echo "Device independant documentation generated: docs/allegro.dvi"
-	@echo "Run make docs-ps if you wish to generate postscript documentation (you need dvips)"
 
-docs-ps: $(srcdir)/docs/allegro.ps
-	@echo "Postscript documentation generated: docs/allegro.ps"
-	@echo "You can compress it with gzip or running make docs-gzipped-ps"
+# -------- shortcuts for building various programs --------
 
-docs-gzipped-ps: $(srcdir)/docs/allegro.ps
-	gzip -9 docs/allegro.ps
-	@echo "Compressed postscript documentation generated: docs/allegro.ps.gz"
+demo: demo/demo$(EXE)
+makedoc: docs/makedoc$(EXE)
+keyconf: setup/keyconf$(EXE)
+setup: setup/setup$(EXE)
+afinfo: tests/afinfo$(EXE)
+akaitest: tests/akaitest$(EXE)
+digitest: tests/digitest$(EXE)
+filetest: tests/filetest$(EXE)
+gfxinfo: tests/gfxinfo$(EXE)
+mathtest: tests/mathtest$(EXE)
+miditest: tests/miditest$(EXE)
+play: tests/play$(EXE)
+playfli: tests/playfli$(EXE)
+test: tests/test$(EXE)
+vesainfo: tests/vesainfo$(EXE)
+colormap: tools/colormap$(EXE)
+dat: tools/dat$(EXE)
+dat2c: tools/dat2c$(EXE)
+dat2s: tools/dat2s$(EXE)
+exedat: tools/exedat$(EXE)
+grabber: tools/grabber$(EXE)
+pack: tools/pack$(EXE)
+pat2dat: tools/pat2dat$(EXE)
+rgbmap: tools/rgbmap$(EXE)
+textconv: tools/textconv$(EXE)
+examples: $(EXAMPLE_FILES)
 
-docs-devhelp: docs/devhelp/allegro.devhelp
-	@echo "DevHelp documentation generated: docs/devhelp/allegro.devhelp"
-	@echo "To use, please install the above file."
 
-suid: $(ALLEGRO_EXE_TARGETS)
-	chown root.allegro $?
-	chmod 4750 $?
-	touch suid
+
+# -------- rules for deleting the generated files --------
 
 clean:
 
@@ -333,6 +376,10 @@
 	rm -f configure include/allegro/platform/alunixac.hin
 	rm -rf autom4te-*
 
+
+
+# -------- rules for installing the files --------
+
 install: $(INSTALL_TARGETS)
 
 mini-install: install-headers install-lib
@@ -455,6 +502,10 @@
 	  gzip -9 -f $(DESTDIR)$(mandir)/man3/`echo $$file | sed -e "s:.*/::"`; \
 	done
 
+
+
+# -------- rules for uninstalling the files --------
+
 uninstall: uninstall-lib uninstall-modules uninstall-headers uninstall-programs uninstall-info uninstall-man
 	@echo
 	@echo "All gone. Don't you feel sad now?"
@@ -522,6 +573,10 @@
 	sed -n -e "s,^@@\(struct\|typedef\).*@\([a-zA-Z0-9_]*\),$(mandir)/man3/\2.3,p" $(srcdir)/docs/src/allegro._tx \
 	  | xargs -n 1 rm -f
 
+
+
+# -------- generate automatic dependencies --------
+
 depend:
 	rm -f makefile.dep
 	@echo "# Automatically generated." >makefile.dep
@@ -549,7 +604,7 @@
 	$(SHELL) -c 'cd $(srcdir) && misc/depmexe.sh docs/makedoc $(ALLEGRO_MAKEDOC_SOURCES)' >>makefile.dep
 	@echo "Dependency generation completed!"
 
-.PHONY: default all lib programs docs docs-dvi docs-ps docs-gzipped-ps \
+.PHONY: default full-build lib programs docs docs-dvi docs-ps docs-gzipped-ps \
 clean distclean veryclean maintainer-clean \
 install full-install mini-install \
 install-lib install-headers install-programs install-info \
Index: docs/src/allegro._tx
===================================================================
RCS file: /cvsroot/alleg/allegro/docs/src/allegro._tx,v
retrieving revision 1.166
diff -u -r1.166 allegro._tx
--- docs/src/allegro._tx	24 Jun 2003 06:49:08 -0000	1.166
+++ docs/src/allegro._tx	26 Jun 2003 18:08:36 -0000
@@ -9516,7 +9516,7 @@
 Makefile targets
 
 There are a number of options that you can use to control exactly how 
-Allegro will be compiled. On Unix platforms you do this by passing arguments 
+Allegro will be compiled. On Unix platforms, you do this by passing arguments 
 to the configure script (run "configure --help" for a list), but on other 
 platforms you can set the following environment variables:
 <ul><li>
@@ -9568,18 +9568,18 @@
 specify it as an argument to make, eg. "make demo" or "make grabber". The 
 makefiles also provide some special pseudo-targets:
 <ul><li>
+   'info' (Unix only)<br>
+   Tells you which options this particular build of Allegro will use.
+   Especially useful to verify that the required libraries were detected
+   and you won't get a 'half-featured' Allegro.
+<li>
    'default'<br>
    The normal build process. Compiles the current library version (one of 
    optimised, debugging, or profiling, selected by the above environment 
    variables), builds the test and example programs, and converts the 
    documentation files.
 <li>
-   'info'<br>
-   Tells you which options this particular build of Allegro will use.
-   Especially useful under Unix to verify that the required libraries
-   were detected and you won't get a 'half-featured' Allegro.
-<li>
-   'all'<br>
+   'all' (non-Unix only)<br>
    Compiles all three library versions (optimised, debugging, and 
    profiling), builds the test and example programs, and converts the 
    documentation files.
@@ -9594,7 +9594,7 @@
    compiler lib directory, recompiling it as required, and installs the 
    Allegro headers.
 <li>
-   'installall'<br>
+   'installall' (non-Unix only)<br>
    Copies all three library versions (optimised, debugging, and profiling), 
    into your compiler lib directory, recompiling them as required, and 
    installs the Allegro headers.
@@ -9605,6 +9605,13 @@
    'docs'<br>
    Converts the documentation files from the ._tx sources.
 <li>
+   'chm-docs' (Windows only)<br>
+   Creates a compiled HTML file from the previously generated html output.
+   This is not a default target, since you need Microsoft's HTML compiler
+   (<link>http://go.microsoft.com/fwlink/?LinkId=14188</a>),
+   and it has to be installed somewhere in your PATH. Also, this only works
+   if you use '@multiplefiles' (see the top of docs/src/allegro._tx).
+<li>
    'docs-dvi' (Unix only)<br>
    Creates the allegro.dvi device independent documentation file. This is
    not a default target, since you need the texi2dvi tool to create it. The
@@ -9616,13 +9623,6 @@
    create it. The second target compresses the generated Postscript file.
    The generated file is especially prepared to be printed on paper.
 <li>
-   'chm-docs' (Windows only)<br>
-   Creates a compiled HTML file from the previously generated html output.
-   This is not a default target, since you need Microsoft's HTML compiler
-   (<link>http://go.microsoft.com/fwlink/?LinkId=14188</a>),
-   and it has to be installed somewhere in your PATH. Also, this only works
-   if you use '@multiplefiles' (see the top of docs/src/allegro._tx).
-<li>
    'docs-devhelp' (Unix only)<br>
    Creates normal HTML documentation with an additional xml index file which
    can be used by tools like Devhelp (<link>http://www.devhelp.net/</a>) to
@@ -9659,15 +9659,15 @@
    like SED, so unless you know what you are doing and have all this stuff 
    installed, you should not use them.
 <li>
+   'compress' (DJGPP, Mingw32 and MSVC only)<br>
+   Uses the DJP or UPX executable compressors (whichever you have installed) 
+   to compress the example executables and utility programs, which can 
+   recover a significant amount of disk space.
+<li>
    'depend'<br>
    Regenerates the dependency files (obj/*/makefile.dep). You need to run 
    this after "make veryclean", or whenever you add new headers to the 
    Allegro sources.
-<li>
-   'compress' (djgpp, Mingw32 and MSVC only)<br>
-   Uses the DJP or UPX executable compressors (whichever you have installed) 
-   to compress the example executables and utility programs, which can 
-   recover a significant amount of disk space.
 </ul>
 
 


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/