File: Makefile

package info (click to toggle)
sdc 1.0.8beta-8
  • links: PTS
  • area: contrib
  • in suites: slink
  • size: 1,400 kB
  • ctags: 874
  • sloc: lisp: 8,120; ansic: 967; makefile: 671; perl: 136; sh: 50
file content (103 lines) | stat: -rw-r--r-- 2,851 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#			    -*-makefile-*-
all: $(EXE) bbset converters

REMLOC=local

# GRPHPKG determines the graphic package to use for LaTeX
# either "grphcs" or "epsfig"

GRPHPKG=grphcs

STREAMTYPE=v.l			# either v.l or v.d; see stream.ssc

BIGLOO=bigloo
BIGLOOFLAGS= -I ./ -farithmetic -O

#---------------------------------------------------------------------------

.SUFFIXES:	.scm .sch .ssc
.scm.o:	
	$(BIGLOO) $(BIGLOOFLAGS) -c $*.scm 
.c.o:	
	$(CC) $(CCFLAGS) -c $*.c 

OBJS = strings.o control.o loading.o \
       files.o chrproc.o procchar.o \
       compile.o rdp.o ns.o stream.o qsort.o dvrtstrm.o

compile.o: compile.scm compile.sch stream.sch
stream.o: stream.scm stream.sch
rdp.o: rdp.scm rdp.sch stream.sch

stream.scm:	# extract the stream module from documentation/source
stream.scm:	# CAUTION: doesn't work without a already made prg!!!
stream.sch: stream.ssc
stream.scm: stream.ssc
	./$(EXE) -V0 -L .. -O literate \
	  -i bmod -i scmprg -i scminc -i $(STREAMTYPE) $<

typeset.o: typeset.scm $(OBJS) 
	sed -e "s%@@LIBDIR@@%$(SR)%;s/@@VERSION@@/$(VERSION)/" \
		typeset.scm > typeset.tma
	set -e ; if [ `basename $$PARSEPROG` = nsgmls ]         ; \
	then sed "/HACK SGMLS/,/END HACK SGMLS/d" typeset.tma >   \
		typeset-compile.scm                             ; \
	else mv typeset.tma typeset-compile.scm                 ; \
	fi
	$(BIGLOO) $(BIGLOOFLAGS) -c typeset-compile.scm
	mv typeset-compile.o typeset.o
	rm -f typeset.tma typeset-compile.scm

sdc-sgmls: force
	echo "#!/bin/sh" > $@
	set -e; if [ `basename $$PARSEPROG` = nsgmls ] ; \
	then echo $$PARSEPROG -E0 '$$*' >> $@      ; \
	else echo $$PARSEPROG     '$$*' >> $@      ; \
	fi
	chmod +x $@

typeset: # make the typeset program
$(EXE): sdc-sgmls $(OBJS) typeset.o
	$(BIGLOO) $(BIGLOOFLAGS) -o $(EXE) typeset.o $(OBJS) 
	strip $(EXE)

bbset:	bbset.sgml
	./$(EXE) -V0  -L .. -O literate bbset.sgml
	chmod +x bbset

converters:	# create the converter scripts
converters: ../doc/notations.sgml ../doc/epstogif.sgml
	echo "" > ../sgml/notation.ent
	./$(EXE) -V0 -L .. -O literate \
		-i $(REMLOC) -i mkinc ../doc/epstogif.sgml
	./$(EXE) -V0 -L .. -O literate -D. \
		-i $(REMLOC) -i $(GRPHPKG) ../doc/notations.sgml
	chmod +x *2* pstogif
	rm epstogif
	mv notation.ent ../sgml
	./$(EXE) -V0 -L .. -O literate bbset.sgml
	chmod +x bbset

install: # install (usually to be called from upper dir. Makefile)
install: e.dd+pwd
	$(CP) $(EXE) sdc-sgmls *2* *.sch \
		pstoppm.ps pstogif bb4gs.ps bbset bbset.sgml \
		$(DD)/bin

clean:	# delete superflous stuff
clean:
	rm -f *.o core

clobber: # delete rebuildable stuff
clobber: clean
	rm -f $(EXE) *2* bbset
	rm -f strings.c rdp.c sdc-sgmls

e.dd+pwd:
	@if [ ! -d $(DD)/`basename \`pwd\`` ]; \
	then $(MKDIR) $(MKDIROPT) $(DD)/`basename \`pwd\`` ; else true; fi

force:

help:	# help on possible targets
	-@egrep "^[A-Za-z\._]+::?.*#" [Mm]akefile