]> git.lyx.org Git - lyx.git/blob - development/Win32/packaging/dtl/Makefile
3a180f90c41ab6d5886cc2aa4b6291b8f90335e0
[lyx.git] / development / Win32 / packaging / dtl / Makefile
1 # Makefile for dv2dt, dt2dv
2 # Version 0.6.1
3 # Thu 9 March 1995
4 # Geoffrey Tobin
5 # Nelson H. F. Beebe
6 #
7 # Changes 27 July 2005 by Angus Leeming to enable the Makefile to
8 # work out of the box on both *nix and Windows machines under
9 # the MinSYS environment.
10 #
11 # The Makefile can also be used unaltered to build a Windows executable
12 # from a Linux box if make is invoked as:
13 # $ make EXEEXT='.exe' CC='i386-mingw32-gcc'
14 #=======================================================================
15
16 BINDIR          = /usr/local/bin
17 CATDIR          = $(MANDIR)/../cat$(MANEXT)
18 CC              = gcc
19 CFLAGS          = -O2 -Wall
20 # Some compilers don't optimise correctly; for those, don't use `-O2' :
21 # CFLAGS          = -Wall
22 CHMOD           = /bin/chmod
23 COL             = col -b
24 CP              = /bin/cp
25 DITROFF         = ditroff
26 DITROFF         = groff
27
28 # This is a GNU make extension.
29 # If your flavour of make refuses to accept it,
30 # then simply hardcode EXEEXT.
31 ifeq ($(WINDIR),)
32   EXEEXT =
33 else
34   EXEEXT = .exe
35 endif
36
37 DT2DV           = dt2dv$(EXEEXT)
38 DV2DT           = dv2dt$(EXEEXT)
39 EXES            = $(DT2DV) $(DV2DT)
40 LDFLAGS         = -s
41 LDFLAGS         =
42 MAN2PS          = sh ./man2ps
43 MANDIR          = /usr/local/man/man$(MANEXT)
44 MANEXT          = 1
45 OBJS            = dt2dv.o dv2dt.o
46 RM              = /bin/rm -f
47 SHELL           = /bin/sh
48
49 DOCS            = README dtl.doc dvi.doc dt2dv.man dv2dt.man
50 SRC             = Makefile dtl.h dt2dv.c dv2dt.c man2ps
51 TESTS           = hello.tex example.tex tripvdu.tex edited.txt
52
53 DTL_DBN         = $(DOCS) $(SRC) $(TESTS)
54
55 #=======================================================================
56
57 .SUFFIXES:      .hlp .ps .man
58
59 .man.hlp:
60         $(DITROFF) -man -Tascii $< | $(COL) >$@
61
62 .man.ps:
63         $(MAN2PS) $< > $@
64
65 #=======================================================================
66
67 all:  dtl check doc
68
69 doc:  dt2dv.hlp dv2dt.hlp dt2dv.ps dv2dt.ps
70
71 dtl:  dv2dt dt2dv
72
73 check tests:  hello example tripvdu edited
74
75 dv2dt: dv2dt.o dtl.h
76         $(CC) $(CFLAGS) $(LDFLAGS) -o $(DV2DT) dv2dt.o
77
78 dt2dv: dt2dv.o dtl.h
79         $(CC) $(CFLAGS) $(LDFLAGS) -o $(DT2DV) dt2dv.o
80
81 hello:  hello.dtl dv2dt dt2dv
82         ./$(DT2DV) hello.dtl hello2.dvi
83         ./$(DV2DT) hello2.dvi hello2.dtl
84         -@diff hello.dtl hello2.dtl > hello.dif
85         @if [ -s hello.dif ] ; \
86         then echo ERROR: differences in hello.dif ; \
87         else $(RM) hello.dif ; \
88         fi
89
90 hello.dtl:  hello.tex
91         tex hello
92         ./$(DV2DT) hello.dvi hello.dtl
93
94 example:  example.dtl dv2dt dt2dv
95         ./$(DT2DV) example.dtl example2.dvi
96         ./$(DV2DT) example2.dvi example2.dtl
97         -@diff example.dtl example2.dtl > example.dif
98         @if [ -s example.dif ] ; \
99         then echo ERROR: differences in example.dif ; \
100         else $(RM) example.dif ; \
101         fi
102
103 example.dtl:  example.tex
104         tex example
105         ./$(DV2DT) example.dvi example.dtl
106
107 tripvdu:  tripvdu.dtl dv2dt dt2dv
108         ./$(DT2DV) tripvdu.dtl tripvdu2.dvi
109         ./$(DV2DT) tripvdu2.dvi tripvdu2.dtl
110         -@diff tripvdu.dtl tripvdu2.dtl > tripvdu.dif
111         @if [ -s tripvdu.dif ] ; \
112         then echo ERROR: differences in tripvdu.dif ; \
113         else $(RM) tripvdu.dif ; \
114         fi
115
116 tripvdu.dtl:  tripvdu.tex
117         tex tripvdu
118         ./$(DV2DT) tripvdu.dvi tripvdu.dtl
119
120 # edited.txt is already a dtl file.
121
122 edited:  edited.txt dv2dt dt2dv
123         ./$(DT2DV) edited.txt edited.dvi
124         ./$(DV2DT) edited.dvi edited2.dtl
125         ./$(DT2DV) edited2.dtl edited2.dvi
126         ./$(DV2DT) edited2.dvi edited3.dtl
127         @if [ -s edited.dif ] ; \
128         then echo ERROR : differences in edited.dif ; \
129         else $(RM) edited.dif ; \
130         fi
131
132 clean mostlyclean:
133         -$(RM) $(OBJS)
134
135 clobber: clean
136         -$(RM) $(EXES) *~ core *.log *.dvi *.dtl *.dif
137
138 distclean realclean: clobber
139         -$(RM) dt2dv.hlp dv2dt.hlp dt2dv.ps dv2dt.ps
140
141 install:        dtl
142         -$(MAKE) uninstall
143         $(CP) dt2dv $(BINDIR)/dt2dv
144         $(CHMOD) 775 $(BINDIR)/dt2dv
145         $(CP) dv2dt $(BINDIR)/dv2dt
146         $(CHMOD) 775 $(BINDIR)/dv2dt
147         $(CP) dt2dv.man $(MANDIR)/dt2dv.$(MANEXT)
148         $(CHMOD) 664 $(MANDIR)/dt2dv.$(MANEXT)
149         $(CP) dv2dt.man $(MANDIR)/dv2dt.$(MANEXT)
150         $(CHMOD) 664 $(MANDIR)/dv2dt.$(MANEXT)
151
152 uninstall:
153         -$(RM) $(BINDIR)/dt2dv
154         -$(RM) $(BINDIR)/dv2dt
155         -$(RM) $(CATDIR)/dt2dv.$(MANEXT)
156         -$(RM) $(CATDIR)/dv2dt.$(MANEXT)
157
158 dist:  dtl.tar.gz
159
160 dtl.tar.gz:  $(DTL_DBN)
161         tar -czf dtl.tar.gz $(DTL_DBN)
162
163 zip:  dtl.zip
164
165 dtl.zip:  $(DTL_DBN)
166         zip dtl.zip $(DTL_DBN)
167
168 # EOF Makefile