114 lines
3.2 KiB
Makefile
114 lines
3.2 KiB
Makefile
srcdir= @srcdir@
|
|
VPATH= @srcdir@
|
|
prefix= @prefix@
|
|
exec_prefix= @exec_prefix@
|
|
datarootdir= @datarootdir@
|
|
localedir= @localedir@
|
|
|
|
CC= @CC@
|
|
RANLIB= @RANLIB@
|
|
CFLAGS= @CFLAGS@
|
|
CPPFLAGS= @CPPFLAGS@ -DLOCALEDIR=\"$(localedir)\"
|
|
LDFLAGS= @LDFLAGS@
|
|
LIBS= @LIBS@
|
|
|
|
CATALOGS= de.mo
|
|
|
|
all: bas all-po-@USE_NLS@
|
|
all-po-no:
|
|
all-po-yes: $(CATALOGS)
|
|
|
|
bas: main.o libbas.a getopt.o getopt1.o
|
|
$(CC) -o $@ $(LDFLAGS) main.o libbas.a getopt.o getopt1.o $(LIBS)
|
|
|
|
token.c: token.l token.h
|
|
flex -i -t token.l >token.c
|
|
|
|
libbas.a: auto.o bas.o fs.o global.o token.o program.o \
|
|
str.o value.o var.o
|
|
rm -f $@
|
|
ar cq $@ auto.o bas.o fs.o global.o token.o program.o \
|
|
str.o value.o var.o
|
|
@RANLIB@ libbas.a
|
|
|
|
cppcheck:
|
|
cppcheck $(CPPFLAGS) -q --enable=all .
|
|
|
|
install-po: install-po-@USE_NLS@
|
|
install-po-no:
|
|
install-po-yes: $(CATALOGS)
|
|
for cat in $(CATALOGS); do \
|
|
dir=$(localedir)/`basename $$cat .mo`/LC_MESSAGES; \
|
|
[ -d $$dir ] || @INSTALL@ -m 755 -d $$dir; \
|
|
@INSTALL@ -m 644 $$cat $$dir/bas.mo; \
|
|
done
|
|
|
|
check: bas
|
|
for i in test/test*; do ./$$i || break; done
|
|
|
|
install: all
|
|
@INSTALL@ -m 755 -d @bindir@
|
|
@INSTALL@ bas @bindir@/bas
|
|
@INSTALL@ -m 755 -d @libdir@
|
|
@INSTALL@ -m 644 libbas.a @libdir@/libbas.a
|
|
@RANLIB@ @libdir@/libbas.a
|
|
@INSTALL@ -m 755 -d @mandir@/man1
|
|
@INSTALL@ -m 644 bas.1 @mandir@/man1/bas.1
|
|
make install-po
|
|
|
|
.c.o:
|
|
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
|
|
|
|
.SUFFIXES: .po .mo
|
|
|
|
.po.mo:
|
|
msgfmt -o $@ $<
|
|
|
|
*.po: bas.pot
|
|
for cat in *.po; do \
|
|
if msgmerge $$cat bas.pot -o $$cat.tmp; then \
|
|
mv -f $$cat.tmp $$cat; \
|
|
else \
|
|
echo "msgmerge for $$cat failed!"; \
|
|
rm -f $$cat.tmp; \
|
|
fi; \
|
|
done
|
|
|
|
bas.pot: [a-b]*.[ch] [e-s]*.[ch] v*.[ch]
|
|
xgettext --add-comments --keyword=_ [a-b]*.[ch] [e-s]*.[ch] v*.[ch] && test -f messages.po && mv messages.po $@
|
|
|
|
bas.pdf: bas.1
|
|
groff -Tps -t -man bas.1 | ps2pdf - $@
|
|
|
|
#{{{script}}}#{{{ clean
|
|
clean:
|
|
rm -f *.out core token.c *.o libbas.a *.mo
|
|
#}}}
|
|
#{{{ distclean
|
|
distclean: clean
|
|
rm -rf autom4te.cache bas config.cache config.h config.log config.status configure.lineno Makefile bas.1 test/runbas
|
|
#}}}
|
|
#{{{ tar
|
|
tar: bas.pdf distclean
|
|
(b=`pwd`; b=`basename $$b`; cd ..; tar zcvf $$b.tar.gz $$b/LICENSE $$b/INSTALL $$b/Makefile.in $$b/README $$b/NEWS $$b/configure $$b/install-sh $$b/test $$b/[a-z]*.*)
|
|
#}}}
|
|
#{{{ dependencies
|
|
auto.o: auto.c config.h auto.h programtypes.h var.h value.h str.h token.h autotypes.h program.h
|
|
bas.o: bas.c config.h getopt.h auto.h programtypes.h var.h value.h str.h token.h autotypes.h \
|
|
program.h bas.h error.h fs.h global.h statement.c statement.h
|
|
fs.o: fs.c config.h fs.h str.h
|
|
getopt.o: getopt.c config.h getopt.h
|
|
getopt1.o: getopt1.c config.h getopt.h
|
|
global.o: global.c config.h auto.h programtypes.h var.h value.h str.h token.h autotypes.h \
|
|
program.h bas.h error.h fs.h global.h
|
|
main.o: main.c config.h getopt.h bas.h
|
|
program.o: program.c config.h auto.h programtypes.h var.h value.h str.h token.h autotypes.h \
|
|
program.h error.h fs.h
|
|
statement.o: statement.c config.h statement.h
|
|
str.o: str.c config.h str.h
|
|
token.o: token.c config.h auto.h programtypes.h var.h value.h str.h token.h autotypes.h \
|
|
program.h statement.h
|
|
value.o: value.c config.h error.h value.h str.h
|
|
var.o: var.c config.h error.h var.h value.h str.h
|
|
#}}}
|