Thread View: comp.unix.programmer
3 messages
3 total messages
Started by FangQ
Thu, 14 Dec 2006 00:34
how to do this with Makefile
Author: FangQ
Date: Thu, 14 Dec 2006 00:34
Date: Thu, 14 Dec 2006 00:34
41 lines
2446 bytes
2446 bytes
hi I am writing a Makefile to convert a bdf file into different pcf files corresponding to different unicode ranges, the striped down version of my Makefile looks like the following B2P=bdftopcf SLICE=bdfmerge.pl CJKBASIC=0x4E00--0x9FA5 CJKEXTA=0x3400--0x4DB5 CJK1=0x1100--0x11FF 0x2460--0x24EA CJK2=0x2605--0x2606 0x262F--0x2637 CJK3=0x3105--0x312C 0x3131--0x318E RANGE=$(CJKBASIC) $(CJKEXTA) $(CJK1) $(CJK2) $(CJK3) cjk0: RANGE=$(CJKBASIC) cjka: RANGE=$(CJKEXTA) cjk: $(SLICE) $(SLICE) $(RANGE) $(R9).bdf > $(R9)_cjk.bdf $(SLICE) $(RANGE) $(R10).bdf > $(R10)_cjk.bdf $(SLICE) $(RANGE) $(R11).bdf > $(R11)_cjk.bdf $(B2P) $(R9)_cjk.bdf > $(R9).pcf $(B2P) $(R10)_cjk.bdf > $(R10).pcf $(B2P) $(R11)_cjk.bdf > $(R11).pcf (the above code snip does not work, as you may notice) what I want to do is when user make different targets, I want the variable RANGE to change its value correspondingly. However, I don't want to repeat the command block for each target. I believe there must be an elegant way of doing this, i.e. set variables differently for each target and execute a common set of commands. However, I can not find it after an hour of search, so I hope someone can help me up. thank you Qianqian
Re: how to do this with Makefile
Author: Pascal Bourguignon
Date: Thu, 14 Dec 2006 00:39
Date: Thu, 14 Dec 2006 00:39
62 lines
3382 bytes
3382 bytes
"FangQ" <fangqq@gmail.com> writes: > hi > > I am writing a Makefile to convert a bdf file into different pcf files > corresponding to different unicode ranges, the striped down version of > my Makefile looks like the following > > B2P=bdftopcf > SLICE=bdfmerge.pl > > CJKBASIC=0x4E00--0x9FA5 > CJKEXTA=0x3400--0x4DB5 > CJK1=0x1100--0x11FF 0x2460--0x24EA > CJK2=0x2605--0x2606 0x262F--0x2637 > CJK3=0x3105--0x312C 0x3131--0x318E > > RANGE=$(CJKBASIC) $(CJKEXTA) $(CJK1) $(CJK2) $(CJK3) > > cjk0: RANGE=$(CJKBASIC) > cjka: RANGE=$(CJKEXTA) > cjk: $(SLICE) > $(SLICE) $(RANGE) $(R9).bdf > $(R9)_cjk.bdf > $(SLICE) $(RANGE) $(R10).bdf > $(R10)_cjk.bdf > $(SLICE) $(RANGE) $(R11).bdf > $(R11)_cjk.bdf > $(B2P) $(R9)_cjk.bdf > $(R9).pcf > $(B2P) $(R10)_cjk.bdf > $(R10).pcf > $(B2P) $(R11)_cjk.bdf > $(R11).pcf > > (the above code snip does not work, as you may notice) > > what I want to do is when user make different targets, I want the > variable RANGE to change its value correspondingly. However, I don't > want to repeat the command block for each target. > > I believe there must be an elegant way of doing this, i.e. set > variables differently for each target and execute a common set of > commands. However, I can not find it after an hour of search, so I hope > someone can help me up. What I do: cjk0: $(MAKE) $(MFLAGS) RANGE=$(CJKBASIC) cjk cjka: $(MAKE) $(MFLAGS) RANGE=$(CJKEXTA) cjk cjk: $(SLICE) [ -z $(RANGE) ] && (echo must define RANGE ; exit 1) || true $(SLICE) $(RANGE) $(R9).bdf > $(R9)_cjk.bdf $(SLICE) $(RANGE) $(R10).bdf > $(R10)_cjk.bdf $(SLICE) $(RANGE) $(R11).bdf > $(R11)_cjk.bdf $(B2P) $(R9)_cjk.bdf > $(R9).pcf $(B2P) $(R10)_cjk.bdf > $(R10).pcf $(B2P) $(R11)_cjk.bdf > $(R11).pcf -- __Pascal Bourguignon__ http://www.informatimago.com/ You're always typing. Well, let's see you ignore my sitting on your hands.
Re: how to do this with Makefile
Author: Måns Rullgård
Date: Thu, 14 Dec 2006 01:22
Date: Thu, 14 Dec 2006 01:22
43 lines
2160 bytes
2160 bytes
"FangQ" <fangqq@gmail.com> writes: > hi > > I am writing a Makefile to convert a bdf file into different pcf files > corresponding to different unicode ranges, the striped down version of > my Makefile looks like the following > > B2P=bdftopcf > SLICE=bdfmerge.pl > > CJKBASIC=0x4E00--0x9FA5 > CJKEXTA=0x3400--0x4DB5 > CJK1=0x1100--0x11FF 0x2460--0x24EA > CJK2=0x2605--0x2606 0x262F--0x2637 > CJK3=0x3105--0x312C 0x3131--0x318E > > RANGE=$(CJKBASIC) $(CJKEXTA) $(CJK1) $(CJK2) $(CJK3) > > cjk0: RANGE=$(CJKBASIC) > cjka: RANGE=$(CJKEXTA) > cjk: $(SLICE) Make that last line read like this instead: cjk cjk0 cjka: $(SLICE) > $(SLICE) $(RANGE) $(R9).bdf > $(R9)_cjk.bdf > $(SLICE) $(RANGE) $(R10).bdf > $(R10)_cjk.bdf > $(SLICE) $(RANGE) $(R11).bdf > $(R11)_cjk.bdf > $(B2P) $(R9)_cjk.bdf > $(R9).pcf > $(B2P) $(R10)_cjk.bdf > $(R10).pcf > $(B2P) $(R11)_cjk.bdf > $(R11).pcf > > (the above code snip does not work, as you may notice) > > what I want to do is when user make different targets, I want the > variable RANGE to change its value correspondingly. However, I don't > want to repeat the command block for each target. -- M�ns Rullg�rd mru@inprovide.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads