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>