-
Notifications
You must be signed in to change notification settings - Fork 3
/
Makefile.in
149 lines (131 loc) · 5.24 KB
/
Makefile.in
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
######################################################################
# @Makefile.in@
# FTAV toplevel Makefile.in.
# Af Mads Bondo Dydensborg, <[email protected]>.
# Dele af Peter Toft, Henrik Christian Grove, mfl.
# bootstrap forventer at følgende linier er til stede:
# Bøger der er konfigureret
SUBDIRS=@SUBDIRS@
# Om "samling"-bogen skal bygges
SAMLING=@SAMLING@
################################################################################
#
# Default target er "Usage" :-)
default:
echo "Mulige mål: all html pdf pakhtml palmpilot dist clean distclean reallyclean" ; \
################################################################################
#
# Makefile target
# Tanken er at denne her makefile afhænger af de faelles filer
# Desuden gøres den afhængig af de filer der skal til for at opdatere
# underbiblioteker - dermed autolaves disse, hvis nogen filer ændres.
#
# Der en lille detalje; Hvis man ikke har konfigureret for alle, køres
# configure alligevel hvis Makefile.alle er blevet ændret. Sådan er det
# bare. - Men nu findes Makefile.alle slet ikke mere!
#
FAELLES_FILER:=faelles-filer/*.css faelles-filer/*.sgml
BYGGE_FILER:=linuxbog.spec misc/insertimagesize \
configure Makefile.in Makefile.samling \
bootstrap.subdir Makefile.subdir configure.ac.subdir
Makefile: $(FAELLES_FILER) $(BYGGE_FILER)
./configure @CONFIGUREARGS@
################################################################################
#
# configure target
# Det er lidt omstændigt det her. Forudsætningen for en dist er en distclean.
# Men, for at køre en distclean skal der være en makefile
# For at have en makefile, skal der være en configure
# For at køre en configure skal der være en bootstrap... suk
configure:
echo "Hvad dælen, jeg troede jeg var forældet"
exit 1
@for dir in $(SUBDIRS) $(SAMLING); do \
echo "*** Kører ./configure i $$dir" && \
cd $$dir && ./configure && cd .. || exit ;\
done ;
################################################################################
#
# subdir configure targets
# Bruges primært af dist target
$(addsuffix /configure,$(SUBDIRS) $(SAMLING)): $(BYGGE_FILER)
./configure @CONFIGUREARGS@
################################################################################
#
# subdir Makefile targets
# Disse er f.eks. nødvendige når man skal lave noget der kalder make i et
# underbibliotek.
$(addsuffix /Makefile,$(SUBDIRS) $(SAMLING)): $(BYGGE_FILER)
./configure @CONFIGUREARGS@
################################################################################
#
# distclean
# Cleaner i alle subdirs, så det passer til en dist
distclean: $(addsuffix /Makefile,$(SUBDIRS))
rm -f idx-?.html idx-symboler.html
@for dir in $(SUBDIRS) $(SAMLING) ; do \
echo "*** Kører make distclean i $$dir" && \
cd $$dir && $(MAKE) distclean && cd .. || exit ;\
done ;
################################################################################
#
# clean
# cleaner i alle subdirs == tilbage til før bootstrap, stort set.
clean: $(addsuffix /Makefile,$(SUBDIRS) $(SAMLING))
rm -f idx-?.html idx-symboler.html
rm -f *.tar.gz *~
@for dir in $(SUBDIRS) $(SAMLING) ; do \
echo "*** Kører make $@ i $$dir" && \
cd $$dir && $(MAKE) $@ ; cd .. ;\
done ;
################################################################################
#
# reallyclean
# reallycleaner i alle subdirs == tilbage til før bootstrap
reallyclean: $(addsuffix /Makefile,$(SUBDIRS) $(SAMLING))
rm -f idx-?.html idx-symboler.html
rm -f *.tar.gz *~
@for dir in $(SUBDIRS) $(SAMLING) ; do \
echo "*** Kører make $@ i $$dir" && \
cd $$dir && $(MAKE) $@ ; cd .. ;\
done ;
################################################################################
#
# all, html, pdf, palmpilot, pakhtml
# Makefilen her skal være uptodate, samt alle underbibliotekers Makefile skal
# være i orden.
.PHONY : all html pdf pakhtml palmpilot online eksempelbackup
all html pdf pakhtml palmpilot online eksempelbackup : Makefile $(addsuffix /Makefile,$(SUBDIRS) $(SAMLING))
bin/titleabstract.pl $(addsuffix /indhold.sgml,$(SUBDIRS) $(SAMLING)) > titleabstract.php
touch stikordsfiler;
@for dir in $(SUBDIRS); do \
echo "*** Kører make $@ i $$dir" && \
cd $$dir && touch toplevel-kald && \
$(MAKE) $@ ; \
rm -f toplevel-kald ; cd .. ; \
done ;
@if [ -s stikordsfiler ]; then \
bin/splitstikord.pl `cat stikordsfiler`; \
tidy -latin1 -f err.txt -imu idx-*html; rm -f err.txt; \
fi
rm -f stikordsfiler
@if [ "x$(SAMLING)" != "x" ]; then \
echo "*** Kører make $@ i samling" && \
cd samling && touch toplevel-kald && \
$(MAKE) $@ ; \
rm -f toplevel-kald ; cd .. ; \
fi ;
################################################################################
#
# dist
# Laver en tar fil med indholdet i hvert katalog.
# Makefile skal være up-to-date
# Indholdet i subdir skal være distcleanet + indholde en configure
DATE=`date +"%F"`
dist: Makefile distclean $(addsuffix /configure,$(SUBDIRS))
@for dir in $(SUBDIRS) ; do \
export VERSION=`cd $$dir && grep -A2 "<listitem>" apprevhist.sgml | head -n 2 | grep Version | sed 's/.*Version//' | cut -d' ' -f2` && \
echo "*** Laver distributionspakke: linuxbog-$$dir-dist-$$VERSION.tar.gz" && \
tar --exclude CVS --exclude .cvsignore -zcf linuxbog-$$dir-dist-$$VERSION.tar.gz $$dir && \
mv linuxbog-$$dir-dist-$$VERSION.tar.gz $$dir ; \
done ;