Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
# (find-node "(make)Automatic") # (find-angg "MTA/vtutil") # (find-angg "MTA/vtutilsh.c") # «.mktclapp» (to "mktclapp") # «.fonts» (to "fonts") # «.psfs» (to "psfs") # To prepare this directory for use if you don't have mktclapp, just # make "psfs". The other interesting targets are math and 850. # all: math all: setlatinmath TCLVERSION ?= 8.2 INCLUDES = -I/usr/include/tcl$(TCLVERSION) # VTUTIL = tclsh$(TCLVERSION) vtutil # VTUTIL = ./vtutilsh vtutil # (find-fline "/usr/doc/console-tools/file-formats/psf" "psf_header =") RAWTOPSF8 = (perl -e 'printf "%c%c%c%c", 0x36, 0x04, 0, 8'; cat) RAWTOPSF16 = (perl -e 'printf "%c%c%c%c", 0x36, 0x04, 0, 16'; cat) CHARS0TO255 = perl -e 'for ($$i=0; $$i<256; ++$$i) { printf "%c", $$i }' CHARS128TO255 = perl -e 'for ($$i=128; $$i<256; ++$$i) { printf "%c", $$i }' # (find-es "charsets" "tcs_patch") #TR850TOISO = tcs -f latin1-850 -t ps2 #TRISOTO850 = tcs -f ps2 -t latin1-850 #128: # $(CHARS128TO255) > $@ #128b: 128 # $(CHARS128TO255) | $(TR850TOISO) > $@ TR850TOISO = tr `cat 128b` `cat 128` TRISOTO850 = tr `cat 128` `cat 128b` # SETPSFFONT = pio_fontx SETPSFFONT ?= consolechars -f isoto850.cmap: $(CHARS0TO255) | $(TRISOTO850) > $@ latinmath.map: math850.map $(TR850TOISO) < $< > $@ 850 math set850math: psfs $(SETPSFFONT) math1.8.psf loadkeys math850.map iso setlatinmath: psfs $(SETPSFFONT) latinmath.8.psf loadkeys latinmath.map 16: psfs $(SETPSFFONT) math1.16.psf ##### # # «mktclapp» (to ".mktclapp") # ##### # (find-node "(make)Catalogue of Rules") # Cc = gcc -g -Wall CC = gcc -g -Wall VTUTILDEPS = vtutilsh.so vtutilsh mktclapp.h: mktclapp -header > mktclapp.h %.o : %.c $(CC) -c $(INCLUDES) $(CFLAGS) -o $@ $< %.mta.c : %.c mktclapp -dont-strip-tcl -notk -read-stdin $*.c > $*.mta.c %.E : %.c gcc -E $*.c > $*.E %.clean: rm -fv $*.mta.c $*.mta.E $*.E $*.mta.o $*.o %.cleanshared: rm -fv $*.o $*_e.c $*_e.o $*.so %.veryclean: rm -fv $*.mta.c $*.mta.E $*.E $*.mta.o $*.o $*_e.c $*_e.o $*.so $* # The first of these rules prevents make from deleting %.mta.c, # the second forces mktclapp.h to be created. See: # (find-node "(make)Chained Rules" "not mentioned") # (find-node "(make)Chained Rules" "it deletes B later on") # vtutilsh.mta.o: vtutilsh.mta.c vtutilsh.o: mktclapp.h vtutilsh: vtutilsh.mta.o vtutilsh.o $(CC) -ltcl$(TCLVERSION) -lm -ldl -o $@ $^ clean: vtutilsh.clean veryclean: vtutilsh.veryclean rm -fv mktclapp.h # (find-es "mktclapp" "vtutil.so") vtutilsh_e.c: vtutilsh.c mktclapp -notk -extension Vtutil vtutilsh.c > vtutilsh_e.c vtutilsh_e.o: vtutilsh_e.c mktclapp.h vtutilsh.so: vtutilsh_e.o vtutilsh.o gcc -shared -o vtutilsh.so vtutilsh_e.o vtutilsh.o ##### # # «fonts» (to ".fonts") # ##### # math: math1.8 MTAFONTS = 850math.8 latin850.8 latin850math.8 math1.8 math1.16 math850.map sostuff: make VTUTIL="tclsh$(TCLVERSION) vtutil" \ VTUTILDEPS="vtutil vtutilsh.so" $(MTAFONTS) shstuff: make VTUTIL="./vtutilsh vtutil" \ VTUTILDEPS="vtutil vtutilsh" $(MTAFONTS) ifneq ($(VTUTIL),) FOO := $(shell echo $(VTUTIL) argh > /dev/stderr) 850math.8: ega1.8 $(VTUTILDEPS) $(VTUTIL) modifyfont 256 8 ega1.8 850math.8 latin850.8: ega1.8 isoto850.cmap vtutil vtutilsh $(VTUTIL) reorderfont 256 8 ega1.8 isoto850.cmap latin850.8 latin850math.8: 850math.8 isoto850.cmap vtutil vtutilsh $(VTUTIL) reorderfont 256 8 850math.8 isoto850.cmap latin850math.8 math1.8: ega1.8 $(VTUTILDEPS) $(VTUTIL) modifyfont 256 8 $< $@ math1.16: ega1.16 $(VTUTILDEPS) $(VTUTIL) modifyfont 256 16 $< $@ math850.map: defkeymap850b.map $(VTUTILDEPS) (cat $<; echo '#'; $(VTUTIL) composetable) > $@ math850: math1.8 math850.map $(VTUTILDEPS) $(VTUTIL) setfont 256 8 math1.8 file0 loadkeys math850.map fonts: 850math.8 latin850.8 latin850math.8 math16: math1.16 math850.map $(VTUTILDEPS) $(VTUTIL) setfont 256 16 math1.16 file0 loadkeys math850.map # An explanation for using "file0" is in: # (find-fline "~/MTA/vtutil" "file0") # Other options: /dev/tty, /dev/tty0, /dev/tty3, `tty`... endif # Names of fonts: # latin1 - very standard stuff; chars 128..159 are empty # ega1, cp850 - standard but obsolete; its chars are in a weird order # latin850 - all chars of cp850 reordered in a latin1ish way # 850math - ega1 (i.e., cp850) with some chars mathified # latin850math - latin850 with some chars mathified (850math reordered) # latinmath - ambiguous; not used # «psfs» (to ".psfs") # (find-angg "TH/Files.tcl" "do_not_translate") psfs: ega1.8.psf latin1-850.8.psf latinmath.8.psf math1.8.psf \ latinmath.map %.8.psf: %.8 cat $< | $(RAWTOPSF8) > $@ %.16.psf: %.16 cat $< | $(RAWTOPSF16) > $@ # 850math.8.psf: 850math.8 # cat $< | $(RAWTOPSF8) > $@ # ega0.8.psf: ega0.8 # cat $< | $(RAWTOPSF8) > $@ # ega1.8.psf: ega1.8 # cat $< | $(RAWTOPSF8) > $@ # latin1-850.8.psf: latin1-850.8 # cat $< | $(RAWTOPSF8) > $@ # latinmath.8.psf: latinmath.8 # cat $< | $(RAWTOPSF8) > $@ # math1.8.psf: math1.8 # cat $< | $(RAWTOPSF8) > $@ # math2.8.psf: math2.8 # cat $< | $(RAWTOPSF8) > $@ # Local Variables: # coding: no-conversion # ee-anchor-format: "«%s»" # ee-charset-indicator: "Ñ" # End: