File: Makefile.in

package info (click to toggle)
libooc-xml 3.0-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 10,880 kB
  • ctags: 360
  • sloc: xml: 10,312; ansic: 1,681; sh: 798; makefile: 301; perl: 17
file content (179 lines) | stat: -rw-r--r-- 6,137 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
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# ==================== Things `configure' Might Edit ====================

OOC=@OOC@
OFLAGS=@OFLAGS@
OOCONFIG=@OOCONFIG@
OOCN=@OOCN@

### The compiler's installation directory, and its primary initialization file.
OOC_LIBDIR=@OOC_LIBDIR@
OOC_INIT=@OOC_INIT@

### Does the compiler support creating libraries (yes/no)?
ooc_have_libs=@ooc_have_libs@

### Name of this package.
package=XML

### Transformation applied to program names when installing.
transform=@program_transform_name@

### File name extension of executables.
exeext=@EXEEXT@

# ==================== Where To Install Things ====================

# The default location for installation.  Everything is placed in
# subdirectories of this directory.  The default values for many of
# the variables below are expressed in terms of this one, so you may
# not need to change them.  This defaults to dirname(dirname($OOC_LIBDIR)).
prefix=@prefix@

# Like `prefix', but used for architecture-specific files.
exec_prefix=@exec_prefix@

# Where to install binaries that people will want to run directly.
bindir=@bindir@

# Where to install library and other files to run the package.
libdir=@libdir@

### Allow the installation directory to differ from that specified at build time
OOC_LIBDIR_INSTALL=${exec_prefix}/$(shell echo ${OOC_LIBDIR} | sed 's,^/usr/,,')
OOC_INIT_INSTALL=${exec_prefix}/$(shell echo ${OOC_INIT} | sed 's,^/usr/,,')

# The default location for installation of compiler specific files
# (symbol files, header files, etc) and the module source code.
ooc_pkgdir=${OOC_LIBDIR_INSTALL}/${package}

subdirs=IO OS URI URI/Authority URI/Fragment URI/Query URI/Scheme

# ==================== Utility Programs for the Build ====================

# Allow the user to specify the install program.
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

version=3.0

# ============================= Targets ==============================


.PHONY: all clean test doc

all: libxml$(exeext)

libxml$(exeext): oo2crc localdirs
	if test $(ooc_have_libs) = yes; then \
	  $(OOC) --config oo2crc --make-lib $(OFLAGS) --lib-path $(libdir) libxml && touch libxml$(exeext); \
	else \
	  $(OOC) --config oo2crc -Mv $(OFLAGS) libxml && touch libxml$(exeext); \
	fi

install: all mkdir config.ooc
	(cd src; for dir in . ${subdirs}; do \
	  for i in $$dir/*.Mod; do \
            (cd .. && $(INSTALL_DATA) src/$$i ${ooc_pkgdir}/$$dir); \
	  done; \
	done)
	for i in src/*.[ch]; do \
          $(INSTALL_DATA) $$i ${ooc_pkgdir}; \
	done; \
	echo "--remove-line \"*:$(package):*\"" >> $(package).ooc
	echo "--append-line PATHS:$(package):SRC \"GET *.Mod,*.c FROM $(ooc_pkgdir);\"" | sed 's;$(shell pwd)/debian/libooc-xml-dev;;' >> $(package).ooc
	echo "--append-line PATHS:$(package):SYM \"GET *.Sym,*.Lib FROM $(ooc_pkgdir)/sym;\"" | sed 's;$(shell pwd)/debian/libooc-xml-dev;;' >> $(package).ooc
	echo "--append-line PATHS:$(package):OBJ \"GET *.h,*.c,*.d,*.o FROM $(ooc_pkgdir)/obj;\"" | sed 's;$(shell pwd)/debian/libooc-xml-dev;;' >> $(package).ooc
	cat config.ooc >> $(package).ooc
	cat $(package).ooc | xargs $(OOCONFIG) $(OOC_INIT_INSTALL)
	for i in sym/*.Sym; do \
          $(INSTALL_DATA) $$i ${ooc_pkgdir}/sym; \
	done
	for i in obj/*.[cdh]; do \
	  $(INSTALL_DATA) $$i ${ooc_pkgdir}/obj; \
	done
	if test $(ooc_have_libs) = yes; then \
	  for i in sym/*.Lib; do \
            $(INSTALL_DATA) $$i ${ooc_pkgdir}/sym; \
	  done; \
          umask 022; $(OOC) --install-lib --config oo2crc --lib-path $(libdir) libxml; \
	else \
	  sleep 1; \
	  for i in obj/*.o; do \
	    $(INSTALL_DATA) $$i ${ooc_pkgdir}/obj; \
	  done; \
	fi

installlib: all mkdir config.ooc
	if test $(ooc_have_libs) = yes; then \
          umask 022; $(OOC) --install-lib --config oo2crc --lib-path $(libdir) libxml; \
	fi

### `doc'
###      Create documentation from module sources.
doc:	mkdir
	${OOCN} --def-txt -Cv -o doc/txt libxml
	${OOCN} --def-html -Cv -o doc/html libxml
	${OOCN} --xref -Cv -o doc/xref libxml

# ======================== Auxiliary Targets =========================

oo2crc: config.ooc
	cp $(OOC_INIT) oo2crc.tmp
	cat config.ooc | xargs $(OOCONFIG) oo2crc.tmp --fix-includes --remove-line "*:$(package):*" \
	  --prepend-line "PATHS:$(package):SRC" "GET *.Mod,*.c FROM src;" \
	  --prepend-line "PATHS:$(package):OBJ" "GET *.h,*.c,*.d,*.o FROM obj;" \
	  --prepend-line "PATHS:$(package):SYM" "GET *.Sym,*.Lib FROM sym;"
	mv oo2crc.tmp oo2crc

FRC:

localdirs:
	for i in sym obj; do if test ! -d $$i; then mkdir $$i; fi; done

mkdir: FRC
	(umask 022; \
          ./mkinstalldirs ${ooc_pkgdir} ${ooc_pkgdir}/IO \
	                  ${ooc_pkgdir}/sym ${ooc_pkgdir}/obj; \
	  for i in ${subdirs}; do ./mkinstalldirs ${ooc_pkgdir}/$$i; done; \
	  for i in doc doc/txt doc/html doc/xref; do \
	    ./mkinstalldirs $$i; \
	  done )

Makefile: Makefile.in config.status
	./config.status

test: localdirs
	${OOC} -MOv TestGet
	${OOC} -MOv TestServer
	cd tests && ${MAKE} test

dist: distclean
	autoconf
	(d="ooc-libxml-${version}"; f="$$d.tar"; \
	  cd .. && ln -s libxml $$d && \
	  tar -c -h -v -f $$f $$d && bzip2 -9 $$f && rm -f $$d)

# ==================== Cleaning up and miscellanea ====================

.PHONY: clean distclean

### `clean'
###      Delete all files from the current directory that are normally
###      created by building the program.  Don't delete the files that
###      record the configuration.  Also preserve files that could be made
###      by building, but normally aren't because the distribution comes
###      with them.
clean: FRC
	rm -Rf sym obj doc .libs TestCodecs TestParser TestURI TestGet TestServer oo2crc oo2crc.tmp.orig libxml$(exeext)
	rm -f *.o *.lo *.la
	cd tests && ${MAKE} clean

### `distclean'
###      Delete all files from the current directory that are created by
###      configuring or building the program.  If you have unpacked the
###      source and built the program without creating any other files,
###      `make distclean' should leave only the files that were in the
distclean: clean
	rm -f config.status config.cache config.log config.ooc Makefile