# Copyright (C) 1995 Bjoern Beutel.
# Compilation rules for Malaga. ===============================================
# Always use POSIX shell.
SHELL = /bin/sh
# Support object files for different architectures in different directories.
VPATH = @srcdir@
srcdir = @srcdir@
# The directories where files will be installed.
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
bindir = ${DESTDIR}@bindir@
libdir = ${DESTDIR}@libdir@
includedir = ${DESTDIR}@includedir@
infodir = ${DESTDIR}@infodir@
datadir = ${DESTDIR}@datadir@
mandir = ${DESTDIR}@mandir@
man1dir = $(mandir)/man1
# How to install a program or data.
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_DIR = ${INSTALL} -d
# How to update the "dir" entry in an info directory.
INSTALL_INFO = install-info
# How to compile a C source file.
COMPILE = @CC@ -c @CFLAGS@ @GCCFLAGS@ @SYS_CFLAGS@
# How to link an executable.
LINK = @CC@ @LDFLAGS@
# "libtool" helps to compile and link libraries.
LIBTOOL = ./libtool --silent
# How to create a DVI file from a Texinfo file.
TEXI2DVI = texi2dvi
# How to create an Info file from a Texinfo file.
MAKEINFO = makeinfo
# How to configure for GTK+.
GTK_LIBS = @GTK_LIBS@
GTK_CFLAGS = @GTK_CFLAGS@
# How to configure for GLib only.
GLIB_LIBS = @GLIB_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
READLINE_LIBS = @READLINE_LIBS@
READLINE_CFLAGS = @READLINE_CFLAGS@
# The malaga binaries, the library and the header file.
MALSHOW = @MALSHOW@
MALAGA_BIN = malaga mallex malmake malrul $(MALSHOW) malsym
# Every binary has a manual page.
MALAGA_MAN1 = $(MALAGA_BIN:=.1)
# The current version of libmalaga for libtool.
# Keep this in synchronisation with the versioning numbers in "malaga.h".
LIBMALAGA_VERSION = 7:0:0
# The names of the current distribution.
DIST = malaga-7.12
# Implicit rules. -------------------------------------------------------------
.SUFFIXES:
.SUFFIXES: .o .c
.c.o:
@echo "Compiling $<"
@$(COMPILE) $(GLIB_CFLAGS) $(READLINE_CFLAGS) $<
# Primary goals. --------------------------------------------------------------
all: malaga.h malaga.el libmalaga.la $(MALAGA_BIN)
clean:
rm -rf *.o *.lo *.tgz libmalaga.la $(MALAGA_BIN) maldump .libs $(DIST)
dvi: malaga.dvi
html: malaga.html
ps: malaga.ps
pdf: malaga.pdf
info: malaga.info
install: all info
$(INSTALL_DIR) $(bindir)
for f in $(MALAGA_BIN); do \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) -s $$f $(bindir)/$$f; \
done
$(INSTALL_DIR) $(includedir)
$(INSTALL_DATA) $(srcdir)/malaga.h $(includedir)/malaga.h
$(INSTALL_DIR) $(libdir)
$(LIBTOOL) --mode=install $(INSTALL_DATA) -s libmalaga.la \
$(libdir)/libmalaga.la
$(INSTALL_DIR) $(datadir)/malaga
$(INSTALL_DATA) $(srcdir)/malaga.el $(datadir)/malaga/malaga.el
$(INSTALL_DIR) $(man1dir)
for f in $(MALAGA_MAN1); do \
$(INSTALL_DATA) $(srcdir)/$$f $(man1dir)/$$f; done
$(INSTALL_DIR) $(infodir)
for f in malaga.info*; do $(INSTALL_DATA) $$f $(infodir)/$$f; done
$(INSTALL_INFO) --info-dir=$(infodir) malaga.info
uninstall:
for f in $(MALAGA_BIN); do rm -f $(bindir)/$$f; done
rm -f $(includedir)/malaga.h
rm -Rf $(datadir)/malaga
$(LIBTOOL) --mode=uninstall rm -f $(libdir)/libmalaga.la
for f in $(MALAGA_MAN1) ; do rm -f $(man1dir)/$$f; done
$(INSTALL_INFO) --remove --info-dir=$(infodir) malaga.info
rm -f $(infodir)/malaga.info*
# Private goals for the maintainer. -------------------------------------------
dist: configure info
rm -rf $(DIST) $(DIST).tgz
mkdir $(DIST)
cp -p $(srcdir)/configure $(DIST)
cp -p $(srcdir)/configure.in $(DIST)
cp -p $(srcdir)/config.guess $(DIST)
cp -p $(srcdir)/config.sub $(DIST)
cp -p $(srcdir)/ltmain.sh $(DIST)
cp -p $(srcdir)/install-sh $(DIST)
cp -p $(srcdir)/Makefile.in $(DIST)
cp -p $(srcdir)/*.[ch1] $(DIST)
cp -p $(srcdir)/*.{txt,texi} $(DIST)
cp -p malaga.info* $(DIST)
cp -p $(srcdir)/malaga.el $(DIST)
mkdir $(DIST)/grammars
cp -rp $(srcdir)/grammars/german $(DIST)/grammars
cd $(DIST)/grammars/german; rm -f .\#* \#* *~ *_[bcl] *.out
cp -rp $(srcdir)/grammars/formal $(DIST)/grammars
cd $(DIST)/grammars/formal; rm -f .\#* \#* *~ *_[bcl] *.out
cp -rp $(srcdir)/grammars/numeral $(DIST)/grammars
cd $(DIST)/grammars/numeral; rm -f .\#* \#* *~ *_[bcl] *.out
tar zcf $(DIST).tgz $(DIST)
rm -rf $(DIST)
# malaga.dvi, malaga.info, malaga.html, malaga.ps, malaga.pdf -----------------
malaga.dvi: malaga.texi
$(TEXI2DVI) $(srcdir)/malaga.texi
malaga.info: malaga.texi
$(MAKEINFO) $(srcdir)/malaga.texi
malaga.html: malaga.texi
$(MAKEINFO) --html --output=malaga.html --number-sections \
--no-headers --no-split $(srcdir)/malaga.texi
malaga.ps: malaga.dvi
dvips malaga.dvi
malaga.pdf: malaga.dvi
dvipdfm malaga.dvi
# libmalaga -------------------------------------------------------------------
COMMON_OBJS = analysis.o avl_trees.o basic.o cache.o commands.o display.o \
files.o hangul.o input.o lexicon.o malaga_files.o malaga_lib.o \
options.o patterns.o pools.o processes.o rules.o scanner.o \
symbols.o transmit.o tries.o value_parser.o values.o
LIBMALAGA_OBJS = $(COMMON_OBJS) libmalaga.o
$(LIBMALAGA_OBJS):
@echo "Compiling $<"
@$(LIBTOOL) --mode=compile $(COMPILE) $(GLIB_CFLAGS) $(srcdir)/$*.c
libmalaga.la: $(LIBMALAGA_OBJS)
@echo "Linking libmalaga"
@$(LIBTOOL) --mode=link $(LINK) $(LIBMALAGA_OBJS:.o=.lo) $(GLIB_LIBS) \
-lm -o libmalaga.la -version-info $(LIBMALAGA_VERSION) \
-rpath @libdir@
# malaga ----------------------------------------------------------------------
MALAGA_OBJS = commands_interactive.o breakpoints.o debugger.o generation.o \
malaga.o
malaga: $(MALAGA_OBJS) libmalaga.la
@echo "Linking malaga"
@$(LIBTOOL) --mode=link $(LINK) $(MALAGA_OBJS) $(GLIB_LIBS) \
$(READLINE_LIBS) -lm libmalaga.la -o malaga
# maldump ---------------------------------------------------------------------
maldump: maldump.o libmalaga.la
@echo "Linking maldump"
@$(LIBTOOL) --mode=link $(LINK) maldump.o $(GLIB_LIBS) -lm \
libmalaga.la -o maldump
# mallex ----------------------------------------------------------------------
MALLEX_OBJS = breakpoints.o commands_interactive.o debugger.o lex_compiler.o \
mallex.o
mallex: $(MALLEX_OBJS) libmalaga.la
@echo "Linking mallex"
@$(LIBTOOL) --mode=link $(LINK) $(MALLEX_OBJS) $(GLIB_LIBS) \
$(READLINE_LIBS) -lm libmalaga.la -o mallex
# malmake ---------------------------------------------------------------------
malmake: malmake.o libmalaga.la
@echo "Linking malmake"
@$(LIBTOOL) --mode=link $(LINK) malmake.o $(GLIB_LIBS) libmalaga.la \
-o malmake
# malrul ----------------------------------------------------------------------
MALRUL_OBJS = malrul.o rule_code.o rule_compiler.o rule_parser.o \
rule_symbols.o
malrul: $(MALRUL_OBJS) libmalaga.la
@echo "Linking malrul"
@$(LIBTOOL) --mode=link $(LINK) $(MALRUL_OBJS) $(GLIB_LIBS) \
libmalaga.la -o malrul
# malshow ---------------------------------------------------------------------
MALSHOW_OBJS = allomorphs.o canvas.o expressions.o malshow.o result.o tree.o \
variables.o
$(MALSHOW_OBJS):
@echo "Compiling $<"
@$(COMPILE) $(GTK_CFLAGS) $(srcdir)/$*.c
malshow: $(MALSHOW_OBJS) libmalaga.la
@echo "Linking malshow"
@$(LIBTOOL) --mode=link $(LINK) $(MALSHOW_OBJS) $(GTK_LIBS) \
libmalaga.la -o malshow
# malsym ----------------------------------------------------------------------
MALSYM_OBJS = malsym.o sym_compiler.o
malsym: $(MALSYM_OBJS) libmalaga.la
@echo "Linking malsym"
@$(LIBTOOL) --mode=link $(LINK) $(MALSYM_OBJS) $(GLIB_LIBS) \
libmalaga.la -o malsym
#==============================================================================
# The dependencies are created by "gcc -MM *.c `pkg-config gtk+-2.0 --cflags`.
allomorphs.o: allomorphs.c basic.h scanner.h input.h canvas.h \
allomorphs.h
analysis.o: analysis.c basic.h pools.h values.h rule_type.h rules.h \
lexicon.h cache.h analysis.h
avl_trees.o: avl_trees.c basic.h avl_trees.h
basic.o: basic.c basic.h
breakpoints.o: breakpoints.c basic.h pools.h values.h files.h \
rule_type.h rules.h input.h commands.h breakpoints.h
cache.o: cache.c basic.h pools.h values.h avl_trees.h cache.h
canvas.o: canvas.c basic.h scanner.h input.h files.h canvas.h
commands.o: commands.c basic.h input.h files.h commands.h
commands_interactive.o: basic.h commands.h commands_interactive.c \
commands_interactive.h
debugger.o: debugger.c basic.h pools.h values.h symbols.h files.h \
input.h commands.h commands_interactive.h options.h rule_type.h rules.h \
display.h breakpoints.h value_parser.h scanner.h debugger.h
display.o: display.c basic.h files.h input.h commands.h processes.h \
display.h
expressions.o: expressions.c basic.h scanner.h input.h canvas.h \
expressions.h
files.o: files.c basic.h files.h
generation.o: generation.c basic.h pools.h values.h input.h commands.h \
rule_type.h rules.h lexicon.h analysis.h debugger.h hangul.h \
generation.h
hangul.o: hangul.c basic.h pools.h tries.h hangul.h
input.o: input.c basic.h files.h input.h
lex_compiler.o: lex_compiler.c basic.h pools.h values.h tries.h \
rule_type.h rules.h scanner.h files.h malaga_files.h symbols.h \
input.h commands.h avl_trees.h options.h hangul.h lex_compiler.h
lexicon.o: lexicon.c basic.h pools.h values.h tries.h files.h \
malaga_files.h lexicon.h
libmalaga.o: libmalaga.c basic.h pools.h values.h symbols.h files.h \
rule_type.h rules.h analysis.h input.h commands.h options.h \
malaga_lib.h hangul.h scanner.h value_parser.h libmalaga.h
malaga.o: malaga.c basic.h pools.h values.h symbols.h files.h \
rule_type.h rules.h analysis.h input.h commands.h commands_interactive.h \
options.h display.h malaga_lib.h generation.h debugger.h breakpoints.h \
cache.h transmit.h hangul.h
malaga_files.o: malaga_files.c basic.h files.h malaga_files.h
malaga_lib.o: malaga_lib.c basic.h pools.h values.h input.h commands.h \
options.h rule_type.h rules.h files.h analysis.h cache.h symbols.h \
lexicon.h transmit.h display.h scanner.h patterns.h hangul.h \
malaga_lib.h
maldump.o: maldump.c basic.h pools.h values.h symbols.h files.h \
rule_type.h rules.h patterns.h hangul.h
mallex.o: mallex.c basic.h pools.h values.h symbols.h scanner.h \
rule_type.h rules.h files.h lex_compiler.h input.h commands.h \
commands_interactive.h options.h breakpoints.h debugger.h display.h \
transmit.h patterns.h hangul.h
malmake.o: malmake.c basic.h files.h malaga_files.h input.h
malrul.o: malrul.c basic.h pools.h values.h symbols.h scanner.h \
files.h rule_type.h rule_code.h rule_compiler.h patterns.h hangul.h
malshow.o: malshow.c basic.h input.h scanner.h files.h canvas.h \
allomorphs.h expressions.h result.h tree.h variables.h
malsym.o: malsym.c basic.h pools.h values.h scanner.h files.h \
sym_compiler.h
options.o: options.c basic.h pools.h values.h symbols.h input.h \
commands.h rule_type.h rules.h value_parser.h hangul.h scanner.h \
options.h
patterns.o: patterns.c basic.h patterns.h
pools.o: pools.c basic.h files.h pools.h
processes.o: processes.c basic.h files.h input.h processes.h
result.o: result.c basic.h scanner.h input.h canvas.h result.h
rule_code.o: rule_code.c basic.h pools.h values.h symbols.h \
rule_type.h files.h malaga_files.h rule_code.h
rule_compiler.o: rule_compiler.c basic.h pools.h values.h scanner.h \
rule_type.h rule_code.h rule_parser.h rule_symbols.h files.h \
rule_compiler.h
rule_parser.o: rule_parser.c basic.h pools.h values.h symbols.h \
patterns.h files.h scanner.h rule_type.h rule_code.h rule_symbols.h \
hangul.h rule_parser.h
rules.o: rules.c basic.h pools.h values.h symbols.h patterns.h files.h \
malaga_files.h rule_type.h hangul.h rules.h
rule_symbols.o: rule_symbols.c basic.h pools.h files.h values.h \
rule_type.h rule_code.h avl_trees.h rule_symbols.h
scanner.o: scanner.c basic.h files.h scanner.h
symbols.o: symbols.c basic.h pools.h values.h files.h malaga_files.h \
symbols.h
sym_compiler.o: sym_compiler.c basic.h pools.h values.h scanner.h \
files.h malaga_files.h symbols.h avl_trees.h hangul.h sym_compiler.h
transmit.o: transmit.c basic.h pools.h values.h files.h input.h \
symbols.h commands.h value_parser.h scanner.h options.h rule_type.h \
rules.h processes.h transmit.h
tree.o: tree.c basic.h scanner.h input.h canvas.h tree.h
tries.o: tries.c basic.h pools.h tries.h
value_parser.o: value_parser.c basic.h pools.h values.h symbols.h \
scanner.h hangul.h value_parser.h
values.o: values.c basic.h pools.h hangul.h values.h
variables.o: variables.c basic.h scanner.h input.h canvas.h \
variables.h
# End of file. ================================================================