#
# Rules for building the Allegro library on Unix. This file is processed
# by the configure script, to produce the real makefile that does the work.
INSTALL_TARGETS = full-install
DEFAULT_TARGETS = full-build
srcdir = @srcdir@
builddir = .
include $(srcdir)/makefile.ver
SHELL = /bin/sh
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
includedir = @includedir@
infodir = @infodir@
mandir = @mandir@
libdir = @libdir@
modulebasedir = $(libdir)/allegro
moduledir = $(modulebasedir)/$(shared_version)
EXE =
OBJ = .o
OBJDIR = obj/unix
LIBDIR = lib/unix
INFO_DIR = $(infodir)/dir
DESTDIR =
ACLOCAL = aclocal
AUTOCONF = autoconf
AUTOHEADER = autoheader
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_INFO = @INSTALL_INFO@
transform = @program_transform_name@
CC = @CC@
CPP = @CPP@
CXX = @CXX@
MAKEINFO = @MAKEINFO@
AR = @AR@
LIBS = @LIBS@
LDCONFIG = @LDCONFIG@
mkinstalldirs = $(SHELL) $(srcdir)/misc/mkdirs.sh
CONFIG_H = include/allegro/platform/alunixac.h
CONFIG_H_IN = include/allegro/platform/alunixac.hin
CONFIGURE = configure
CONFIGURE_IN = configure.in
ACLOCAL_M4 = aclocal.m4
INCLUDES = -I. -Iinclude -Iinclude/allegro -I$(srcdir)/include -I$(srcdir)/include/allegro
DEFS = -DALLEGRO_MODULES_PATH=\"$(libdir)/allegro\" @DEFS@
CPPFLAGS = @CPPFLAGS@
override LDFLAGS += @LDFLAGS@
PROG_LDFLAGS = @PROG_LDFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LINK = $(CC) $(PROG_LDFLAGS)
override CFLAGS += @CFLAGS@
ALLEGRO_DEBUG_CFLAGS = @ALLEGRO_DEBUG_CFLAGS@
ALLEGRO_PROFILE_CFLAGS = @ALLEGRO_PROFILE_CFLAGS@
ALLEGRO_SHAREDLIB_CFLAGS = @ALLEGRO_SHAREDLIB_CFLAGS@
COMPILE_NORMAL = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
COMPILE_DEBUG = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALLEGRO_DEBUG_CFLAGS)
COMPILE_PROFILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALLEGRO_PROFILE_CFLAGS)
CXXFLAGS = @CXXFLAGS@
ALLEGRO_DEBUG_CXXFLAGS = @ALLEGRO_DEBUG_CXXFLAGS@
ALLEGRO_PROFILE_CXXFLAGS = @ALLEGRO_PROFILE_CXXFLAGS@
COMPILE_CXX_NORMAL = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
COMPILE_CXX_DEBUG = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALLEGRO_DEBUG_CXXFLAGS)
COMPILE_CXX_PROFILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALLEGRO_PROFILE_CXXFLAGS)
ALLEGRO_SFLAGS = @ALLEGRO_SFLAGS@
COMPILE_S_NORMAL = $(COMPILE_NORMAL) $(ALLEGRO_SFLAGS)
COMPILE_S_DEBUG = $(COMPILE_DEBUG) $(ALLEGRO_SFLAGS)
COMPILE_S_PROFILE = $(COMPILE_PROFILE) $(ALLEGRO_SFLAGS)
COMPILE_PROGRAM = $(@COMPILE_PROGRAM@)
COMPILE_CXX_PROGRAM = $(@COMPILE_CXX_PROGRAM@)
COMPILE_S_PROGRAM = $(@COMPILE_S_PROGRAM@)
LIBALLEG = @LIBALLEG@
LINK_LIBALLEG = @LINK_LIBALLEG@
ALLEGRO_LIB_TARGETS = @ALLEGRO_LIB_TARGETS@
ALLEGRO_MODULE_TARGETS = @ALLEGRO_MODULE_TARGETS@
PLUGIN_LIB = @PLUGIN_LIB@
obj_unix_plugins_h = $(OBJDIR)/plugins.h
default: $(DEFAULT_TARGETS)
.SUFFIXES:
makefile: $(srcdir)/makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
config.status: $(srcdir)/$(CONFIGURE)
$(SHELL) ./config.status --recheck
$(srcdir)/$(CONFIGURE): $(srcdir)/$(CONFIGURE_IN) $(srcdir)/$(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF) $(CONFIGURE_IN) >$(CONFIGURE)
$(CONFIG_H): stamp-h
stamp-h: $(srcdir)/$(CONFIG_H_IN) config.status
CONFIG_FILES= CONFIG_HEADERS="$(CONFIG_H):$(CONFIG_H_IN)" \
$(SHELL) ./config.status
@echo timestamp > stamp-h
$(srcdir)/$(CONFIG_H_IN): $(srcdir)/stamp-h.in
$(srcdir)/stamp-h.in: $(srcdir)/$(CONFIGURE_IN) $(srcdir)/$(ACLOCAL_M4)
cd $(srcdir) && $(AUTOHEADER) $(CONFIGURE_IN) >$(CONFIG_H_IN)
@echo timestamp > $(srcdir)/stamp-h.in
@SET_MAKE@
# -------- list of sources for libraries and programs --------
include $(srcdir)/makefile.lst
ifneq (,$(CXX))
ALLEGRO_LIB_EXE_SOURCES += $(ALLEGRO_LIB_CPP_EXE_SOURCES)
ALLEGRO_LIB_EXES += $(ALLEGRO_LIB_CPP_EXES)
endif
ALLEGRO_EMPTY_LIST =
ALLEGRO_LIBRARY_SOURCES = \
$(ALLEGRO_SRC_FILES) \
$(ALLEGRO_SRC_UNIX_FILES) \
$(@ALLEGRO_MAYBE_ASM_FILES@) \
$(@ALLEGRO_MAYBE_XWINDOWS_FILES@) \
$(@ALLEGRO_MAYBE_LINUX_FILES@)
ALLEGRO_EXE_TARGETS = \
$(ALLEGRO_LIB_EXES) \
$(@ALLEGRO_MAYBE_LIB_X_EXES@) \
$(ALLEGRO_DATAFILE_EXES) \
$(ALLEGRO_EXAMPLE_EXES) \
demo/demo
# Header files (look in makefile.dep for "Headers referred by symbols").
ALLEGRO_EXTRA_HEADER = $(srcdir)/include/allegro/platform/alunix.h
ALLEGRO_INTERNAL_HEADER = $(srcdir)/include/allegro/platform/aintunix.h
ALLEGRO_MMX_HEADER =
allegro_alconfig_h = $(srcdir)/include/allegro/internal/alconfig.h \
$(srcdir)/include/allegro/platform/alucfg.h \
$(CONFIG_H)
allegro_alinline_h = $(srcdir)/include/allegro/alinline.h \
$(srcdir)/include/allegro/platform/al386gcc.h \
$(srcdir)/include/allegro/platform/al386vc.h \
$(srcdir)/include/allegro/platform/al386wat.h
allegro_h = $(srcdir)/include/allegro.h \
$(allegro_alconfig_h) \
$(allegro_alinline_h) \
$(srcdir)/include/allegro/3d.h \
$(srcdir)/include/allegro/3dmaths.h \
$(srcdir)/include/allegro/alcompat.h \
$(srcdir)/include/allegro/alinline.h \
$(srcdir)/include/allegro/base.h \
$(srcdir)/include/allegro/color.h \
$(srcdir)/include/allegro/compiled.h \
$(srcdir)/include/allegro/config.h \
$(srcdir)/include/allegro/datafile.h \
$(srcdir)/include/allegro/debug.h \
$(srcdir)/include/allegro/digi.h \
$(srcdir)/include/allegro/draw.h \
$(srcdir)/include/allegro/file.h \
$(srcdir)/include/allegro/fix.h \
$(srcdir)/include/allegro/fixed.h \
$(srcdir)/include/allegro/fli.h \
$(srcdir)/include/allegro/fmaths.h \
$(srcdir)/include/allegro/gfx.h \
$(srcdir)/include/allegro/gui.h \
$(srcdir)/include/allegro/joystick.h \
$(srcdir)/include/allegro/keyboard.h \
$(srcdir)/include/allegro/matrix.h \
$(srcdir)/include/allegro/midi.h \
$(srcdir)/include/allegro/mouse.h \
$(srcdir)/include/allegro/palette.h \
$(srcdir)/include/allegro/quat.h \
$(srcdir)/include/allegro/rle.h \
$(srcdir)/include/allegro/sound.h \
$(srcdir)/include/allegro/stream.h \
$(srcdir)/include/allegro/system.h \
$(srcdir)/include/allegro/text.h \
$(srcdir)/include/allegro/timer.h \
$(srcdir)/include/allegro/unicode.h \
$(srcdir)/include/allegro/graphics.h \
$(srcdir)/include/allegro/inline/3dmaths.inl \
$(srcdir)/include/allegro/inline/asm.inl \
$(srcdir)/include/allegro/inline/color.inl \
$(srcdir)/include/allegro/inline/draw.inl \
$(srcdir)/include/allegro/inline/fix.inl \
$(srcdir)/include/allegro/inline/fmaths.inl \
$(srcdir)/include/allegro/inline/gfx.inl \
$(srcdir)/include/allegro/inline/matrix.inl \
$(srcdir)/include/allegro/inline/rle.inl \
$(srcdir)/include/allegro/inline/system.inl \
$(ALLEGRO_EXTRA_HEADER)
allegro_internal_aintern_h = $(srcdir)/include/allegro/internal/aintern.h
allegro_aintdos_h = $(srcdir)/include/allegro/platform/aintdos.h \
$(srcdir)/include/allegro/internal/aintvga.h
obj_unix_asmdef_inc = $(OBJDIR)/asmdef.inc
xalleg_h = $(srcdir)/include/xalleg.h
ifdef CROSSCOMPILE
$(OBJDIR)/asmdef.s: src/i386/asmdef.c include/*.h include/allegro/*.h
$(CC) $(INCLUDES) `echo $(CFLAGS) | sed -e "s/.*\(-DALLEGRO_NO_ASM\).*/\1/"` -S -o $(OBJDIR)/asmdef.s src/i386/asmdef.c
$(obj_unix_asmdef_inc): $(OBJDIR)/asmdef.s
@if [ ! -x misc/asmdef.sh ]; then chmod a+x misc/asmdef.sh; fi
misc/asmdef.sh $(OBJDIR)/asmdef.s $(obj_unix_asmdef_inc)
else
$(obj_unix_asmdef_inc): $(OBJDIR)/asmdef$(EXE)
$(OBJDIR)/asmdef$(EXE) $(obj_unix_asmdef_inc)
$(OBJDIR)/asmdef$(EXE): $(srcdir)/src/i386/asmdef.c $(ALLEGRO_ASMCAPA_HEADER) $(allegro_h)
$(COMPILE_PROGRAM) $(srcdir)/src/i386/asmdef.c -o $(OBJDIR)/asmdef$(EXE)
endif
# -------- documentation --------
DOCBASEFILES = ahack changes faq mistakes help thanks allegro const abi api packfile \
readme makedoc datafile grabber dat dat2c dat2s license
DOCBUILDFILES = bcc32 beos darwin djgpp linux macosx mingw32 msvc qnx unix watcom
DOCTXTBUILDFILES = $(addprefix docs/build/,$(addsuffix .txt,$(DOCBUILDFILES)))
DOCS = $(addprefix docs/txt/,$(addsuffix .txt,$(filter-out changes thanks readme, $(DOCBASEFILES))))
DOCS += $(addprefix docs/rtf/,$(addsuffix .rtf,$(DOCBASEFILES)))
DOCS += $(addprefix docs/html/,$(addsuffix .html,index $(DOCBASEFILES)))
DOCS += $(addprefix docs/html/build/,$(addsuffix .html,$(DOCBUILDFILES)))
DOCS += docs/texi/allegro.texi docs/info/allegro.info docs/man/install_allegro.3
DOCS += CHANGES AUTHORS THANKS readme.txt
DOCS += docs/scite/allegro.api
DEVHELPDOCS = $(addprefix docs/devhelp/,$(addsuffix .html,$(DOCBASEFILES)))
DEVHELPDOCS += $(addprefix docs/devhelp/build/,$(addsuffix .html,$(DOCBUILDFILES)))
MAKEDOC = docs/makedoc$(EXE)
docs: $(DOCS) $(DOCTXTBUILDFILES)
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 by running make docs-gzipped-ps,"
@echo "or with bzip2 by running make docs-bzipped-ps."
docs-pdf: $(srcdir)/docs/allegro.pdf
@echo "PDF documentation generated: docs/allegro.pdf"
docs-gzipped-ps: $(srcdir)/docs/allegro.ps
gzip -9 docs/allegro.ps
@echo "Compressed postscript documentation generated: docs/allegro.ps.gz"
docs-bzipped-ps: $(srcdir)/docs/allegro.ps
bzip2 -9 docs/allegro.ps
@echo "Compressed postscript documentation generated: docs/allegro.ps.bz2"
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 $@ $<
$(DOCTXTBUILDFILES): docs/build/%.txt: docs/src/build/%._tx $(MAKEDOC)
$(MAKEDOC) -ascii $@ $<
$(filter %.rtf,$(DOCS)): docs/rtf/%.rtf: docs/src/%._tx $(MAKEDOC)
$(MAKEDOC) -rtf $@ $<
$(filter %.texi,$(DOCS)): docs/texi/%.texi: docs/src/%._tx $(MAKEDOC)
$(MAKEDOC) -texi $@ $<
$(filter %.info,$(DOCS)): docs/info/%.info: docs/texi/%.texi $(MAKEDOC)
$(MAKEINFO) --no-split -o $@ $<
$(filter %.html,$(DOCS)): docs/html/%.html: docs/src/%._tx $(MAKEDOC)
$(MAKEDOC) -html $@ $<
$(filter %.html,$(DEVHELPDOCS)): docs/devhelp/%.html: docs/src/%._tx $(MAKEDOC)
$(MAKEDOC) -odevhelp -html $@ $<
$(filter %.api,$(DOCS)): docs/scite/%.api: docs/src/%._tx $(MAKEDOC)
$(MAKEDOC) -scite $@ $<
docs/man/install_allegro.3: docs/src/allegro._tx $(MAKEDOC)
$(MAKEDOC) -man docs/man/dummyname.3 $<
AUTHORS: docs/src/thanks._tx $(MAKEDOC)
$(MAKEDOC) -part -ascii $@ $<
cp AUTHORS docs/txt/authors.txt
THANKS: docs/src/thanks._tx $(MAKEDOC)
$(MAKEDOC) -part -ascii $@ $<
cp THANKS docs/txt/thanks.txt
CHANGES: docs/src/changes._tx $(MAKEDOC)
$(MAKEDOC) -ascii $@ $<
cp CHANGES docs/txt/changes.txt
readme.txt: docs/src/readme._tx $(MAKEDOC)
$(MAKEDOC) -ascii $@ $<
cp readme.txt docs/txt/readme.txt
docs/allegro.dvi: docs/texi/allegro.texi
cd docs && texi2dvi -c texi/allegro.texi && cd ..
docs/allegro.ps: docs/allegro.dvi
cd docs && dvips -o allegro.ps allegro.dvi && cd ..
docs/allegro.pdf: docs/texi/allegro.texi
cd docs && texi2pdf --texinfo='@topandbottommargin=.75in' texi/allegro.texi && cd ..
docs/devhelp/allegro.devhelp: $(filter %.html,$(DEVHELPDOCS)) docs/src/allegro._tx $(MAKEDOC)
$(MAKEDOC) -devhelp docs/devhelp/allegro.html docs/src/allegro._tx
info:
@cat makefile.info
# -------- dependencies and rules for building libraries and simple programs --------
-include makefile.dep
ifdef CROSSCOMPILE
full-build: lib modules programs
else
full-build: lib modules programs docs
endif
lib: $(ALLEGRO_LIB_TARGETS)
modules: $(ALLEGRO_MODULE_TARGETS)
programs: $(ALLEGRO_EXE_TARGETS)
suid: $(ALLEGRO_EXE_TARGETS)
chown root.allegro $?
chmod 4750 $?
touch suid
# -------- shortcuts for building various programs --------
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)
# -------- rules for deleting the generated files --------
clean:
define RM_OBJ_CLEAN_FILES
$(foreach file, $(OBJ_CLEAN_FILES), rm -f $(file)
)
endef
define RM_OTHER_CLEAN_FILES
$(foreach file, $(OTHER_CLEAN_FILES), rm -f $(file)
)
endef
$(RM_OBJ_CLEAN_FILES)
$(RM_OTHER_CLEAN_FILES)
distclean: clean
define RM_DISTCLEAN_FILES
$(foreach file, $(DISTCLEAN_FILES) $(ALLEGRO_LIB_X_EXES), rm -f $(file)
)
endef
$(RM_DISTCLEAN_FILES)
veryclean: distclean
define RM_VERYCLEAN_FILES
$(foreach file, $(VERYCLEAN_FILES), rm -f $(file)
)
endef
$(RM_VERYCLEAN_FILES)
rm -f makefile
maintainer-clean: veryclean
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
@echo "Your end-user version of Allegro is now installed"
full-install: install-headers install-programs install-lib
@echo ""
@echo "Run make docs-dvi if you wish to generate dvi documentation (you need texi2dvi)."
@echo "Run make docs-pdf if you wish to generate PDF documentation (you need texi2pdf)."
@echo "Run make install-man if you wish to install the man pages."
@echo "Run make install-info if you wish to install the info documentation."
@echo "You may conserve space by instead running make install-gzipped-man"
@echo "and/or make install-gzipped-info. Or install-bzipped-man,"
@echo "install-bzipped-info to use bzip2 instead of gzip."
install-lib: lib modules
$(mkinstalldirs) $(DESTDIR)$(libdir)
@for l in alleg alld allp; do \
if test -f $(LIBDIR)/lib$${l}.a; then \
echo Installing $(LIBDIR)/lib$${l}.a to $(DESTDIR)$(libdir); \
$(INSTALL_DATA) $(LIBDIR)/lib$${l}.a $(DESTDIR)$(libdir)/; \
fi; \
done
@for l in alleg alld allp; do \
if test -f $(LIBDIR)/lib$${l}-$(shared_version).so; then \
echo Installing $(LIBDIR)/lib$${l}-$(shared_version).so to $(DESTDIR)$(libdir); \
$(INSTALL_PROGRAM) $(LIBDIR)/lib$${l}-$(shared_version).so $(DESTDIR)$(libdir)/; \
$(INSTALL_DATA) $(LIBDIR)/lib$${l}_unsharable.a $(DESTDIR)$(libdir)/; \
fi; \
done
@if test -n "$(ALLEGRO_MODULE_TARGETS)"; then \
$(mkinstalldirs) $(DESTDIR)$(moduledir); \
for m in $(ALLEGRO_MODULE_TARGETS); do \
echo Installing $$m to $(DESTDIR)$(moduledir); \
$(INSTALL_PROGRAM) $$m $(DESTDIR)$(moduledir)/; \
done; \
$(INSTALL_DATA) modules.lst $(DESTDIR)$(moduledir)/; \
fi
$(mkinstalldirs) $(DESTDIR)$(bindir)
@echo Installing allegro-config to $(DESTDIR)$(bindir)
@$(INSTALL_PROGRAM) allegro-config $(DESTDIR)$(bindir)
@if test -n "$(LIBDIR)/liball*-$(shared_version).so"; then \
(cat /etc/ld.so.conf | grep $(libdir) >/dev/null || \
test $(libdir) = /lib || test $(libdir) = /usr/lib) \
&& ($(LDCONFIG) $(libdir) || true) || (\
echo "" ; \
echo "Warning: shared library destination $(libdir) is not in ldd search path." ; \
echo "Unless you add it to /etc/ld.so.conf, you must set LD_LIBRARY_PATH to include"; \
echo "$(libdir) each time you want to run an Allegro program." ; \
) ; \
fi
@for l in alleg alld allp; do \
if test -f $(DESTDIR)$(libdir)/lib$${l}-$(shared_version).so -a \! -h $(DESTDIR)$(libdir)/lib$${l}.so.${shared_major_minor}; then \
(cd $(DESTDIR)$(libdir); ln -s lib$${l}-$(shared_version).so lib$${l}.so.${shared_major_minor}); \
fi; \
done
$(mkinstalldirs) $(DESTDIR)$(prefix)/share/aclocal
@echo Installing allegro.m4 to $(DESTDIR)$(prefix)/share/aclocal
@$(INSTALL_DATA) misc/allegro.m4 $(DESTDIR)$(prefix)/share/aclocal
install-headers:
$(mkinstalldirs) $(DESTDIR)$(includedir)/allegro
$(mkinstalldirs) $(DESTDIR)$(includedir)/allegro/inline
$(mkinstalldirs) $(DESTDIR)$(includedir)/allegro/internal
$(mkinstalldirs) $(DESTDIR)$(includedir)/allegro/platform
$(INSTALL_DATA) $(srcdir)/include/allegro.h $(DESTDIR)$(includedir)/
$(INSTALL_DATA) $(srcdir)/include/xalleg.h $(DESTDIR)$(includedir)/
$(INSTALL_DATA) $(srcdir)/include/linalleg.h $(DESTDIR)$(includedir)/
$(INSTALL_DATA) $(CONFIG_H) $(DESTDIR)$(includedir)/allegro/
@for file in $(srcdir)/include/allegro/*.h; do \
echo Installing $$file to $(DESTDIR)$(includedir)/allegro; \
$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/allegro/; \
done
@for file in $(srcdir)/include/allegro/inline/*.inl; do \
echo Installing $$file to $(DESTDIR)$(includedir)/allegro/inline; \
$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/allegro/inline/; \
done
@for file in $(srcdir)/include/allegro/internal/*.h; do \
echo Installing $$file to $(DESTDIR)$(includedir)/allegro/internal; \
$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/allegro/internal/; \
done
@for file in $(srcdir)/include/allegro/platform/*.h; do \
echo Installing $$file to $(DESTDIR)$(includedir)/allegro/platform; \
$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/allegro/platform/; \
done
INSTALL_EXES = $(filter tools/%, $(ALLEGRO_LIB_EXES) $(ALLEGRO_DATAFILE_EXES))
install-programs: $(INSTALL_EXES)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@for prog in $^; do \
echo Installing $$prog to $(DESTDIR)$(bindir); \
$(INSTALL_PROGRAM) $$prog $(DESTDIR)$(bindir); \
done
install-info: docs
@echo Installing Allegro info documentation...
$(mkinstalldirs) $(DESTDIR)$(infodir)
@$(INSTALL_DATA) docs/info/allegro.info $(DESTDIR)$(infodir)
-@if $(SHELL) -c "$(INSTALL_INFO) --version" >/dev/null 2>&1; then \
if $(INSTALL_INFO) --version 2>&1 | grep "Debian" >/dev/null; then \
$(INSTALL_INFO) --section Development -- $(DESTDIR)$(infodir)/allegro.info; \
else \
$(INSTALL_INFO) $(DESTDIR)$(infodir)/allegro.info $(INFO_DIR); \
fi; \
else \
true; \
fi
install-gzipped-info: install-info
@echo Compressing documentation...
@gzip -9 -f $(DESTDIR)$(infodir)/allegro.info
install-bzipped-info: install-info
@echo Compressing documentation...
@bzip2 -9 -f $(DESTDIR)$(infodir)/allegro.info
install-man: docs
$(mkinstalldirs) $(DESTDIR)$(mandir)/man3
@for file in $(srcdir)/docs/man/*.3; do \
echo Installing $$file to $(DESTDIR)$(mandir)/man3; \
$(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man3/; \
done
install-gzipped-man: docs
$(mkinstalldirs) $(DESTDIR)$(mandir)/man3
@for file in $(srcdir)/docs/man/*.3; do \
echo Installing $$file.gz to $(DESTDIR)$(mandir)/man3; \
$(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man3/; \
gzip -9 -f $(DESTDIR)$(mandir)/man3/`echo $$file | sed -e "s:.*/::"`; \
done
install-bzipped-man: docs
$(mkinstalldirs) $(DESTDIR)$(mandir)/man3
@for file in $(srcdir)/docs/man/*.3; do \
echo Installing $$file.bz2 to $(DESTDIR)$(mandir)/man3; \
$(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man3/; \
bzip2 -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 uninstall-misc
@echo
@echo "All gone. Don't you feel sad now?"
@echo
@echo "Well, almost. Shared libraries are not uninstalled by default --"
@echo "use \"make uninstall-shared\" to remove them."
uninstall-lib:
@echo "Uninstalling libraries..."
@for l in alleg alld allp; do \
rm -f $(libdir)/lib$${l}_unsharable.a; \
rm -f $(libdir)/lib$${l}.a; \
done
rm -f $(bindir)/allegro-config
uninstall-shared:
@echo "Uninstalling shared libraries..."
@for l in alleg alld allp; do \
rm -f $(libdir)/lib$${l}-${shared_version}.so; \
rm -f $(libdir)/lib$${l}.so.${shared_major_minor}; \
done
-$(LDCONFIG) $(libdir) # update cache (only works if we're root)
uninstall-modules:
rm -rf $(modulebasedir) $(moduledir)
uninstall-headers:
rm -f $(includedir)/allegro.h
rm -f $(includedir)/xalleg.h
rm -f $(includedir)/linalleg.h
rm -rf $(includedir)/allegro
uninstall-programs:
@for prog in $(ALLEGRO_LIB_EXES) $(ALLEGRO_DATAFILE_EXES); do \
if test "X`echo $$prog | sed -e s,tools/.\*,,`" = X; then \
p=`echo $$prog | sed -e s,tools/,,`; \
echo rm -f $(bindir)/$$p; \
rm -f $(bindir)/$$p; \
fi; \
done
uninstall-info:
@if test -f $(infodir)/allegro.info.gz; then \
echo Decompressing documentation...; \
gunzip $(infodir)/allegro.info.gz; \
fi;
@if test -f $(infodir)/allegro.info.bz2; then \
echo Decompressing documentation...; \
bzip2 -d $(infodir)/allegro.info.bz2; \
fi;
-@if $(SHELL) -c "$(INSTALL_INFO) --version" >/dev/null 2>&1; then \
if $(INSTALL_INFO) --version 2>&1 | grep "Debian" >/dev/null; then \
$(INSTALL_INFO) --remove $(infodir)/allegro.info; \
else \
$(INSTALL_INFO) --remove $(infodir)/allegro.info $(INFO_DIR); \
fi; \
else \
true; \
fi
rm -f $(infodir)/allegro.info
uninstall-man:
sed -n -e "s,^@[@\\].*@\([a-zA-Z0-9_]*\)[^a-zA-Z0-9_*].*,$(mandir)/man3/\1.3,p" $(srcdir)/docs/src/allegro._tx \
| xargs -n 1 rm -f
sed -n -e "s,^@[@\\].*@\([a-zA-Z0-9_]*\)[^a-zA-Z0-9_*].*,$(mandir)/man3/\1.3.gz,p" $(srcdir)/docs/src/allegro._tx \
| xargs -n 1 rm -f
sed -n -e "s,^@[@\\].*@\([a-zA-Z0-9_]*\)[^a-zA-Z0-9_*].*,$(mandir)/man3/\1.3.bz2,p" $(srcdir)/docs/src/allegro._tx \
| xargs -n 1 rm -f
sed -n -e "s,^@@Example.*@\(ex.*\),$(mandir)/man3/\1.3,p" $(srcdir)/docs/src/allegro._tx \
| xargs -n 1 rm -f
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
uninstall-misc:
rm -f $(prefix)/share/aclocal/allegro.m4
# -------- generate automatic dependencies --------
depend:
rm -f makefile.dep
@echo "# Automatically generated." >makefile.dep
@echo "Generating dependencies for libraries"
$(SHELL) -c 'cd $(srcdir) && misc/deplib.sh $(ALLEGRO_LIBRARY_SOURCES)' >>makefile.dep
@echo "Generating dependencies for dynamically loaded modules"
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh vga -- $(ALLEGRO_MODULE_VGA_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh svgalib -lvga $(ALLEGRO_MODULE_SVGALIB_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh fbcon -- $(ALLEGRO_MODULE_FBCON_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh dga2 -lXxf86dga $(ALLEGRO_MODULE_DGA2_FILES)' >> makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh alsadigi -lasound $(ALLEGRO_MODULE_ALSADIGI_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh alsamidi -lasound $(ALLEGRO_MODULE_ALSAMIDI_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh esddigi "\`esd-config --libs\`" $(ALLEGRO_MODULE_ESD_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh artsdigi "\`artsc-config --libs\`" $(ALLEGRO_MODULE_ARTS_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh sgialdigi -laudio $(ALLEGRO_MODULE_SGIAL_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmod.sh jackdigi "\`pkg-config --libs jack\`" $(ALLEGRO_MODULE_JACK_FILES)' >>makefile.dep
@echo "Generating dependencies for simple programs"
$(SHELL) -c 'cd $(srcdir) && misc/deplexe.sh -- $(ALLEGRO_LIB_EXE_SOURCES) $(ALLEGRO_EXAMPLE_FILES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/deplexe.sh -lX11 $(@ALLEGRO_MAYBE_LIB_X_EXE_SOURCES@) ' >>makefile.dep
@echo "Generating dependencies for datafile plugins"
$(SHELL) -c 'cd $(srcdir) && misc/depdlib.sh tools/datedit.c' >>makefile.dep
@echo "Generating dependencies for datafile programs"
$(SHELL) -c 'cd $(srcdir) && misc/depdexe.sh $(ALLEGRO_DATAFILE_EXE_SOURCES)' >>makefile.dep
@echo "Generating dependencies for makedoc and demo"
$(SHELL) -c 'cd $(srcdir) && misc/depmexe.sh docs/makedoc $(ALLEGRO_MAKEDOC_SOURCES)' >>makefile.dep
$(SHELL) -c 'cd $(srcdir) && misc/depmexe.sh demo/demo $(ALLEGRO_DEMO_SOURCES)' >>makefile.dep
@echo "Dependency generation completed!"
.PHONY: default full-build lib programs docs docs-dvi docs-ps docs-pdf \
docs-gzipped-ps docs-bzipped-ps \
clean distclean veryclean maintainer-clean \
install full-install mini-install \
install-lib install-headers install-programs install-info \
install-gzipped-info install-bzipped-info install-man install-gzipped-man \
install-bzipped-man depend \
uninstall uninstall-lib uninstall-modules uninstall-headers \
uninstall-programs uninstall-info uninstall-man
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: