-# Various dialect translators.
+LEX = flex
+BUILD = jethro kraut cockney jive nyc ken ky00te newspeak nethackify scramble
+OTHER = eleet b1ff chef jibberish upside-down rasterman studly fudd \
+ censor spammer uniencode pirate kenny scottish fanboy lolcat
+CFLAGS = -O2 -lfl
+export CFLAGS
+INSTALL_PROGRAM = install
-LEX = flex
+# DEB_BUILD_OPTIONS suport, to control binary stripping.
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+INSTALL_PROGRAM += -s
+endif
-ALL = jethro kraut cockney jive nyc ken
-OTHER = eleet b1ff chef jibberish upside-down rasterman
+# And debug building.
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+CFLAGS += -g
+endif
-all: $(OTHER) $(ALL)
+all: $(OTHER) $(BUILD) samples
-install: $(ALL) $(OTHER)
- install -d $(PREFIX)/usr/games
- install $(ALL) $(OTHER) $(PREFIX)/usr/games/
- install -d $(PREFIX)/usr/share/man/man6
- install -m 0644 filters.6 $(PREFIX)/usr/share/man/man6
- cd $(PREFIX)/usr/share/man/man6 && \
- $(foreach prog,$(ALL) $(OTHER),ln -s filters.6 $(prog).6;)
+install: $(BUILD) $(OTHER)
+ install -d $(DESTDIR)/usr/games
+ $(INSTALL_PROGRAM) $(BUILD) $(DESTDIR)/usr/games/
+ install $(OTHER) $(DESTDIR)/usr/games/
+ install -d $(DESTDIR)/usr/share/man/man6
+ install -m 0644 filters.6 $(DESTDIR)/usr/share/man/man6
+ cd $(DESTDIR)/usr/share/man/man6 && \
+ $(foreach prog,$(BUILD) $(OTHER),ln -s filters.6 $(prog).6;)
-samples: $(ALL) $(OTHER)
+samples: $(BUILD) $(OTHER)
-rm -f SAMPLES
- PATH=. echo $(ALL) $(OTHER) |xargs -n 1 sh makesample.sh
+ PATH=.:$$PATH; export PATH; echo $(BUILD) $(OTHER) | xargs -n 1 sh makesample.sh
clean:
- $(RM) -f core *.o *~ $(ALL) *.c SAMPLES
+ $(RM) -f core *.o *~ $(BUILD) SAMPLES
+ cd ky00te.dir && make clean
+ rm -f kraut.dir/lex.yy.c
+ cd nethackify.dir && make clean
+ cd scramble.dir && make clean
.SUFFIXES: .l
.l:
$(RM) $*.c
$(LEX) -t $< > $*.c
- $(CC) -O -o $@ $*.c -lfl -g
-# strip $@
+ $(CC) -o $@ $*.c $(CFLAGS)
$(RM) $*.c
.SUFFIXES: .dir
.dir:
cd $<; make
+ky00te:
+ cd ky00te.dir && make
+
kraut:
cd kraut.dir && lex kraut.l
- cd kraut.dir && cc kraut.c lex.yy.c -o ../kraut
+ cd kraut.dir && $(CC) kraut.c lex.yy.c -o ../kraut
+
+nethackify:
+ cd nethackify.dir && make
+
+scramble:
+ cd scramble.dir && make