# |
# $Id: Makefile.in,v 1.215 2000/10/30 19:01:22 grubba Exp $ |
# |
|
# This line is needed on some machines. |
@SET_MAKE@ |
|
# Don't change this line. Define EXTRALIBS before this line if you |
# wish to add any libraries. |
LIBS=@LIBS@ $(EXTRALIBS) |
|
# This is normall the install program in the source directory |
INSTALL=@INSTALL@ |
|
SRCDIR=@srcdir@ |
VPATH=@srcdir@ |
|
# These are used while compiling |
LIBDIR_SRC = @LIBDIR@ |
MANDIR_SRC = $(SRCDIR)/../man |
TMP_BINDIR = @BINDIR@ |
TMP_BUILDDIR = @BUILDDIR@ |
TMP_DOCDIR = @DOCDIR@ |
TMP_LIBDIR = $(TMP_BUILDDIR)/lib |
|
# |
# RPM and package builders, listen up, because this is your only |
# documentation! This variable is prepended to the install path. |
# Please note that Pike will not work until moved into the proper |
# place. -Hubbe |
# |
buildroot= |
|
prefix = @prefix@ |
exec_prefix = $(prefix)/bin |
lib_prefix = $(prefix)/lib/pike |
data_prefix = @datadir@ |
share_prefix = $(data_prefix)/pike |
man_prefix = $(prefix)/man |
|
# Arguments for test_pike.pike used by the verify targets. |
# TESTARGS = -a |
|
# Arguments for install.pike used by the install targets. |
INSTALLARGS = --new-style |
|
# |
# use bison please, yacc isn't good enough. |
# |
YACC=@YACC@ |
YFLAGS=-d -v |
|
# |
# This may be -pg |
# |
PROFIL=@PROFIL@ |
|
# |
# OS dependant flags |
# |
OSFLAGS= |
|
# |
#Enable warnings from the compiler, if wanted. |
# |
WARN=@WARN@ |
|
#add extra defines here |
# Be sure to use -g when looking for bugs |
DEFINES=@CPPFLAGS@ |
|
# -O should work with all compilers |
OPTIMIZE=@OPTIMIZE@ |
|
# Set to a flag for parallelizing make, e.g. -j2. It's given to make |
# at the level where it's most effective. |
MAKE_PARALLEL= |
|
# Preprocessor flags. |
PREFLAGS=-I. -I$(SRCDIR) $(DEFINES) |
OTHERFLAGS=@CFLAGS@ $(OSFLAGS) $(OPTIMIZE) $(WARN) $(PROFIL) |
NOOPTFLAGS=@CFLAGS@ @CPPFLAGS@ $(OSFLAGS) $(WARN) $(PROFIL) |
CFLAGS=$(PREFLAGS) $(OTHERFLAGS) |
|
SMARTLINK=@SMARTLINK@ |
REALCC=@REALCC@ |
CC=@CC@ |
CPP=@CPP@ |
|
FALLBACK_CC=@FALLBACK_CC@ |
|
AR=@AR@ |
|
LD=@LD@ |
LDFLAGS=@LDFLAGS@ @LINKFORSHARED@ $(EXTRALDFLAGS) |
|
RUNPIKE=$(TMP_BUILDDIR)/pike -DNOT_INSTALLED -m$(TMP_BUILDDIR)/master.pike $(PIKEOPTS) |
USE_TPIKE=$(TMP_BUILDDIR)/tpike -DNOT_INSTALLED -m$(TMP_BUILDDIR)/master.pike $(PIKEOPTS) |
USE_PIKE=@PIKE@ $(PIKEOPTS) |
RUNTPIKE=$(@RUNTPIKE@) |
|
MAKE_FLAGS= |
|
# Add alloca.o if you don't have alloca() on your machine. |
# |
OBJ= \ |
language.o \ |
security.o \ |
bignum.o \ |
interpret.o \ |
constants.o \ |
cpp.o \ |
fdlib.o \ |
cyclic.o \ |
array.o \ |
backend.o \ |
callback.o \ |
encode.o \ |
docode.o \ |
dynamic_buffer.o \ |
dynamic_load.o \ |
error.o \ |
fd_control.o \ |
fsort.o \ |
gc.o \ |
hashtable.o \ |
lex.o \ |
multiset.o \ |
signal_handler.o \ |
pike_search.o \ |
pike_types.o \ |
main.o \ |
mapping.o \ |
pike_memory.o \ |
module.o \ |
module_support.o \ |
object.o \ |
opcodes.o \ |
operators.o \ |
port.o \ |
program.o \ |
rusage.o \ |
stralloc.o \ |
stuff.o \ |
threads.o \ |
version.o \ |
queue.o \ |
builtin.o \ |
svalue.o @EXTRA_OBJS@ |
|
MODULE_REQUIREMENTS= \ |
machine.h \ |
global.h \ |
modules/static_module_makefile \ |
modules/dynamic_module_makefile \ |
$(SRCDIR)/language.h \ |
lib \ |
master.pike @EXTRA_MODULE_REQUIREMENTS@ |
|
|
DEPEND= \ |
$(SRCDIR)/language.c \ |
$(SRCDIR)/builtin.c |
|
# |
# The following objectfiles differ between tpike & pike: |
# |
|
TOBJ = las_t.o builtin_functions_t.o peep_t.o |
POBJ = las.o builtin_functions.o peep.o |
|
# |
# User callable targets |
# |
|
|
# Ouch. |
# It turns out that we really do need to do it this way. |
# |
# First compile pike, to generate the peep engine, and more |
# importantly, the lower_case() support, since that is needed by the |
# post_module. |
# |
# Then relink pike once more, since the post modules might be |
# static modules, and thus have to be linked into pike. |
# |
# No rest for the wicked. |
all: module_objects hilfe |
$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike |
@rm -f dummy_engine >/dev/null 2>&1; echo "" >dummy_engine && \ |
if cmp $(SRCDIR)/peep_engine.c dummy_engine >/dev/null 2>&1; then \ |
echo "Warning: No peep_engine." >&2; \ |
else :; fi; \ |
rm -f dummy_engine >/dev/null 2>&1 |
# $(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) new_peep_engine |
$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike |
$(MAKE) $(MAKE_FLAGS) "MAKE_PARALLEL=$(MAKE_PARALLEL)" post_modules |
$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike |
|
post_modules: force |
@( cd post_modules ; rm remake >/dev/null 2>&1 || : ; \ |
$(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) || \ |
( test -f remake && $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) ) ) || exit $$? |
|
compiler-warnings : clean |
@echo Summarizing compiler warnings. |
@echo |
@if $(MAKE) $(MAKE_FLAGS) all 2>compiler-warnings ; then \ |
echo; \ |
echo 'Compilation warning summary:'; \ |
echo '----------------------------'; \ |
else \ |
echo; \ |
echo 'Compilation warning and error summary:'; \ |
echo '--------------------------------------'; \ |
fi |
@echo |
@cat compiler-warnings |
@echo |
@echo 'End of summary' |
@echo '--------------' |
|
tpike-real: $(OBJ) $(TOBJ) modules/linker_options |
-@rm -f tpike || : |
$(LD) $(LDFLAGS) $(OBJ) $(TOBJ) `cat modules/linker_options` $(LIBS) -o tpike |
|
# Only want tpike to exist when using $(RUNTPIKE); we don't want to |
# require it actually being up-to-date. |
$(TMP_BUILDDIR)/tpike: |
$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) tpike-real |
|
# Make $(POBJ)s with a recursive make instead of depending on them. |
# This way, we make sure that all other objects shared with tpike are |
# up-to-date first. So if the $(POBJ)s, which depend on tpike, trigs |
# the recursive make of tpike-real above, that one will never start to |
# make the $(OBJ)s concurrently with this one. stamp-tpike-predep |
# records the $(POBJ) dependencies without tpike. |
pike: $(OBJ) modules/linker_options stamp-tpike-predep |
$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) $(POBJ) |
-@if [ -f pike.old ] ; then rm -f pike.old || : ; else : ; fi |
-@if [ -f pike.old.exe ] ; then rm -f pike.old.exe || : ; else : ; fi |
-@if [ -f pike ] ; then mv pike pike.old || : ; else : ; fi |
$(LD) $(LDFLAGS) $(OBJ) $(POBJ) `cat modules/linker_options` $(LIBS) -o pike |
|
# purify |
pure: $(OBJ) $(POBJ) module_objects |
-@mv pike pike.old 2>/dev/null || true |
$(SMARTLINK) purify -max-threads=128 -thread_stack_change=8192 -free-queue-length=500 -inuse-at-exit=yes -chain-length=12 $(REALCC) $(LDFLAGS) $(OBJ) $(POBJ) `cat modules/linker_options` $(LIBS) -o pike |
|
# purecov |
cover: $(OBJ) $(POBJ) module_objects |
-@mv pike pike.old 2>/dev/null || true |
$(SMARTLINK) purecov purify -max-threads=128 -thread_stack_change=8192 -free-queue-length=500 -inuse-at-exit=yes -chain-length=12 $(REALCC) $(LDFLAGS) $(OBJ) $(POBJ) `cat modules/linker_options` $(LIBS) -o pike |
|
# quantify |
quant: $(OBJ) $(POBJ) module_objects |
-@mv pike pike.old 2>/dev/null || true |
$(SMARTLINK) quantify $(REALCC) $(LDFLAGS) $(OBJ) $(POBJ) `cat modules/linker_options` $(LIBS) -o pike |
|
atom: pike |
atom pike -tool atom -env threads -g -v `find lib/modules -type f -name '*.so' -print | sed -e 's/^/-incobj /g'` |
mv pike pike.pre-atom |
mv pike.third.threads pike |
@echo Make sure you have '.' in your LD_LIBRARY_PATH. |
|
pixie: pike |
atom pike -tool pixie -env threads -g -v `find lib/modules -type f -name '*.so' -print | sed -e 's/^/-incobj /g'` |
mv pike pike.pre-pixie |
mv pike.pixie.threads pixie |
@echo Make sure you have '.' in your LD_LIBRARY_PATH. |
|
hilfe: $(TMP_BINDIR)/hilfe Makefile |
@echo "Creating ./hilfe..."; \ |
if [ "$(exec_prefix)" != "/usr/local/bin" -a \ |
"$(exec_prefix)" != "/usr/local/bin/" ]; then \ |
( sed -e 's!/usr/local/bin!$(exec_prefix)!' <$(TMP_BINDIR)/hilfe \ |
>./hilfe && chmod 755 ./hilfe) || exit 1 ; \ |
else \ |
$(INSTALL) $(TMP_BINDIR)/hilfe `pwd`/hilfe || exit 1; \ |
fi |
@echo "Done." |
|
|
.SUFFIXES: .c .h .o .cmod .pp .pph .protos |
|
.c.pp: |
$(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \ |
-DPMOD_PROTO=PMOD_PROTO "$<" >"$@" |
|
.c.protos: |
./precompile.sh fake_dynamic_load.pike "$@" --cpp --protos \ |
$(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \ |
-DPMOD_PROTO=PMOD_PROTO -DPIKE_PRECOMPILER=1 "$<" |
|
.h.pph: |
$(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \ |
-DPMOD_PROTO=PMOD_PROTO "$<" >"$@" |
|
|
# Several optimizers have problems with interpret.c |
# First try compiling with optimization and if that doesn't work, without. |
# GCC dumps core on some files @ OSF1 |
# This kluge should work around that... |
# FIXME: Make this a configure option |
.c.o: |
@echo "Compiling $<" ;\ |
if $(CC) $(CFLAGS) -c $< -o $@ ; then : ; else \ |
echo "WARNING: Compiler failure! Trying without optimization!" >&2;\ |
echo "echo $(CC) $(PREFLAGS) $(NOOPTFLAGS) -c $< -o $@" >&2 ;\ |
NO_ULIMIT=yes; \ |
export NO_ULIMIT; \ |
if $(CC) $(PREFLAGS) $(NOOPTFLAGS) -c $< -o $@ ; then : ; else \ |
err=$$?; \ |
if test "x$(FALLBACK_CC)" = "x"; then \ |
exit $$err; \ |
else \ |
echo "WARNING: Compiler failure! Trying fallback compiler!" >&2;\ |
echo "echo $(FALLBACK_CC) $(PREFLAGS) $(NOOPTFLAGS) -c $< -o $@" >&2 ;\ |
$(FALLBACK_CC) $(PREFLAGS) $(NOOPTFLAGS) -c $< -o $@ ;\ |
fi; \ |
fi; \ |
fi |
|
# |
# Please note that this must be accompanied by a dependency rule as |
# The .c file will not be created in the SOURCE directory otherwise. |
# -Hubbe |
# |
.cmod.c: |
./precompile.sh precompile.pike "$@" "$<" |
|
force : |
@: |
|
# install |
install: pike hilfe pike-module aclocal |
@$(RUNPIKE) $(TMP_BINDIR)/install.pike $(INSTALLARGS) \ |
exec_prefix="$(exec_prefix)" lib_prefix="$(lib_prefix)" \ |
TMP_LIBDIR="$(TMP_LIBDIR)" LIBDIR_SRC="$(LIBDIR_SRC)" \ |
SRCDIR="$(SRCDIR)" prefix="$(prefix)" MANDIR_SRC="$(MANDIR_SRC)" \ |
man_prefix="$(man_prefix)" pike_name=$(pike_name) \ |
fakeroot="$(buildroot)" |
|
install_interactive: pike hilfe pike-module aclocal |
@$(RUNPIKE) $(TMP_BINDIR)/install.pike --interactive \ |
exec_prefix="$(exec_prefix)" prefix=$(prefix) \ |
TMP_LIBDIR="$(TMP_LIBDIR)" LIBDIR_SRC="$(LIBDIR_SRC)" \ |
SRCDIR="$(SRCDIR)" MANDIR_SRC="$(MANDIR_SRC)" \ |
fakeroot="$(buildroot)" |
|
# tidy up a bit |
tidy: |
-rm -f *.o *.obj *.pp *.protos core y.output y.tab.c y.tab.h |
-rm -f $(TMP_BINDIR)/core *.o *.i *.i~ testsuite |
|
# make clean |
clean: tidy |
-( cd modules; $(MAKE) $(MAKE_FLAGS) clean ) |
-( cd post_modules; $(MAKE) $(MAKE_FLAGS) clean ) |
-rm -rf test-install test-pike |
-rm -f TAGS tags yacc.acts yacc.debug yacc.tmp *.debug.log a.out |
-rm -f hilfe master.pike compiler-warnings |
-rm -f tpike stamp-tpike-predep import-stamp |
-rm -rf lib/modules/* |
# -rm -f lib/master.pike |
|
# make _really_ clean |
spotless: clean |
-(cd $(SRCDIR); find . -type f -name '*.h.in' -print) | \ |
sed -e 's/\.in$$//' | xargs rm -f |
find . -type f '(' -name 'Makefile' -o -name '*~' -o -name '.*~' -o \ |
-name core -o -name '.nfs*' -name '#*#' -o -name '.pure' -o \ |
-name 'conftest.*' -o -name 'stamp-h' ')' -exec rm -f \{\} \; |
-rm -f lexical.c mon.out *.ln config.status |
-rm -f $(TMP_BINDIR)/*~ $(TMP_BINDIR)/\#*\# |
-rm -f pike pike.old l.outa* |
-rm -f modules/*/testsuite |
-rm -f modules/static_module_makefile modules/dynamic_module_makefile |
-rm -rf lib |
|
distclean: spotless |
find . -type f '(' -name 'config.log' -o -name 'config.status' -o \ |
-name 'config.cache' ')' -exec rm -f \{\} \; |
|
cvsclean: distclean |
( for d in `cd $(SRCDIR) && find . -type d -print`; do \ |
if test -f "$(SRCDIR)/$$d/.cvsignore" ; then \ |
(cd "$$d" && rm -f `cat "$(SRCDIR)/$$d/.cvsignore"`); \ |
(cd "$(SRCDIR)/$$d" && rm -f `cat "$(SRCDIR)/$$d/.cvsignore"`); \ |
else :; fi; \ |
done) |
|
# create tags |
tags: |
ctags *.c |
|
TAGS: |
etags -t *.h *.c |
|
# verify / debug |
module_testsuites: |
( cd modules && $(MAKE) $(MAKE_FLAGS) testsuites ) |
|
just_verify: module_testsuites testsuite master.pike |
if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \ |
$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike $$args |
|
tinstall: aclocal master.pike aclocal |
-rm -rf test-install |
$(RUNPIKE) $(TMP_BINDIR)/install.pike $(INSTALLARGS) pike_name="test-pike" lib_prefix="$(lib_prefix)" TMP_LIBDIR="$(TMP_LIBDIR)" LIBDIR_SRC="$(LIBDIR_SRC)" SRCDIR="$(SRCDIR)" prefix="./test-install" MANDIR_SRC="$(MANDIR_SRC)" man_prefix="$(man_prefix)" fakeroot="$(buildroot)" |
|
|
verify: module_testsuites testsuite tinstall |
if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \ |
if test -f ./test-pike ; then ./test-pike -DNOT_INSTALLED $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike $$args ; else sprsh `pwd`/test-install/pike/*/bin/pike.exe -DNOT_INSTALLED $(PIKE_OPTS) $(TMP_BINDIR)/test_pike.pike $$args ; fi |
|
verify_installed: module_testsuites testsuite master.pike |
if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \ |
$(exec_prefix)/pike $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike $$args |
|
check: verify |
|
sure: verify |
|
# verify / debug verbose |
verbose_verify: module_testsuites testsuite master.pike |
if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \ |
$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike --verbose $$args |
|
# verify & debug VERBOSE |
gdb_verify: module_testsuites testsuite master.pike |
@echo >.gdbinit handle SIGFPE nostop noprint pass |
@echo >>.gdbinit handle SIGUSR1 nostop noprint pass |
@echo >>.gdbinit handle SIGUSR2 nostop noprint pass |
@echo >>.gdbinit handle SIGLWP nostop noprint pass |
@if kill -l | grep SIGRTMIN >/dev/null ; then \ |
echo >>.gdbinit handle SIG32 nostop noprint pass ;\ |
else :; fi |
@echo >>.gdbinit break debug_fatal |
@if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \ |
echo >>.gdbinit run -m$(TMP_BUILDDIR)/master.pike $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike --no-watchdog -v -v $$args |
gdb ./pike |
@rm .gdbinit |
|
# run hilfe, for interactive testing |
run_hilfe: |
$(RUNPIKE) $(TMP_BINDIR)/hilfe |
|
feature_list: |
$(RUNPIKE) $(TMP_BINDIR)/feature_list |
|
lib: $(LIBDIR_SRC)/master.pike.in Makefile |
@for d in lib lib/modules lib/include; do \ |
if [ -d $$d/. ]; then : ; else \ |
echo "Creating $$d/."; \ |
(mkdir $$d && chmod u+rwx $$d) || exit 1; \ |
fi ; \ |
done |
@echo "Done." |
-@touch ./lib 2>/dev/null || (touch lib/.broken_gnu_touch && rm lib/.broken_gnu_touch) |
|
|
master.pike: $(LIBDIR_SRC)/master.pike.in Makefile |
t="$$PIKE_PATH_TRANSLATE"; if test "x$$t" = "x"; then t=s,x,x,; else :; fi; \ |
sed -e 's!¤lib_prefix¤!'"`echo \"$(TMP_LIBDIR)\" | sed -e \"$$t\"`"'!' <$(LIBDIR_SRC)/master.pike.in \ |
| sed -e 's!¤share_prefix¤!'"`echo \"$(LIBDIR_SRC)\" | sed -e \"$$t\"`"'!' >master.pike |
|
pike-module: $(SRCDIR)/pike-module.in Makefile ./pike |
$(RUNPIKE) $(SRCDIR)/pike-module.in --fixate=$(SRCDIR)/pike-module.in \ |
--set='make=$(MAKE)' --set='make_flags=$(MAKE_FLAGS)' \ |
--set='prefix=$(prefix)' --set='pike=$(exec_prefix)/pike' \ |
--set='include_path=$(prefix)/include/pike' \ |
--set='lib_prefix=$(TMP_LIBDIR)' --set='share_prefix=$(LIBDIR_SRC)' \ |
--output=pike-module |
-@chmod +x pike-module |
|
aclocal: $(SRCDIR)/aclocal.m4 |
echo >aclocal "define(PIKE_INCLUDE_PATH,$(prefix)/include/pike)" |
cat >>aclocal $(SRCDIR)/aclocal.m4 |
|
# make export archive (requires compiled Pike) |
# Do not compile in source tree if you want to use this! |
# Beware that export archive this includes bison/yacc/byacc source |
# and thus has to follow the rules stated in that code. |
|
full_export: new_peep_engine $(SRCDIR)/language.c $(SRCDIR)/language.h depend |
chmod +x $(SRCDIR)/install-sh |
$(RUNPIKE) $(TMP_BINDIR)/export.pike --srcdir="$(SRCDIR)" |
|
export: full_export |
|
all_exports: full_export |
( cd .. && $(TMP_BINDIR)/makedists ) |
|
bin_export: aclocal |
@rm -f *.burk |
@$(RUNPIKE) $(TMP_BINDIR)/install.pike --export \ |
exec_prefix="$(exec_prefix)" lib_prefix="$(lib_prefix)" \ |
TMP_LIBDIR="$(TMP_LIBDIR)" LIBDIR_SRC="$(LIBDIR_SRC)" \ |
SRCDIR="$(SRCDIR)" prefix="$(prefix)" MANDIR_SRC="$(MANDIR_SRC)" \ |
man_prefix="$(man_prefix)" pike_name=$(pike_name) |
@case " $(CC)" in \ |
*\ rntc*) \ |
$(MAKE) $(MAKE_FLAGS) uncompress_header ;\ |
filename=`echo *.burk | sed 's@\.burk$$@@g'`.exe ;\ |
( cat uncompress_header.exe ; gzip -9 -c *.burk ) > $$filename ;\ |
;; \ |
esac |
|
|
new_peep_engine: |
$(RUNPIKE) $(TMP_BINDIR)/mkpeep.pike $(SRCDIR)/peep.in >$(SRCDIR)/peep_engine.c |
$(RUNPIKE) $(TMP_BINDIR)/make_ci.pike <$(SRCDIR)/UnicodeData.txt >$(SRCDIR)/case_info.h |
|
$(SRCDIR)/peep_engine.c: $(TMP_BUILDDIR)/tpike $(SRCDIR)/peep.in $(TMP_BINDIR)/mkpeep.pike |
$(RUNTPIKE) $(TMP_BINDIR)/mkpeep.pike $(SRCDIR)/peep.in >$(SRCDIR)/peep_engine.c || ( mv $(TMP_BUILDDIR)/tpike $(TMP_BUILDDIR)/tpike.bug ; exit 1 ) |
|
peep.o: $(SRCDIR)/peep_engine.c |
|
peep_t.o: peep.c |
|
$(SRCDIR)/case_info.h: $(TMP_BUILDDIR)/tpike $(SRCDIR)/UnicodeData.txt $(TMP_BINDIR)/make_ci.pike |
$(RUNTPIKE) $(TMP_BINDIR)/make_ci.pike <$(SRCDIR)/UnicodeData.txt >$(SRCDIR)/case_info.h || ( mv $(TMP_BUILDDIR)/tpike $(TMP_BUILDDIR)/tpike.bug ; exit 1 ) |
|
builtin_functions.o: $(SRCDIR)/case_info.h |
|
builtin_functions_t.o: builtin_functions.c |
|
$(SRCDIR)/treeopt.h: $(TMP_BUILDDIR)/tpike $(SRCDIR)/treeopt.in $(TMP_BINDIR)/mktreeopt.pike |
$(RUNTPIKE) $(TMP_BINDIR)/mktreeopt.pike $(SRCDIR)/treeopt.in || ( mv $(TMP_BUILDDIR)/tpike $(TMP_BUILDDIR)/tpike.bug ; exit 1 ) |
|
las.o: $(SRCDIR)/treeopt.h |
|
las_t.o: las.c |
|
# All the $(POBJ) dependencies, except tpike. See blurb at pike target. |
stamp-tpike-predep: $(SRCDIR)/peep.in $(TMP_BINDIR)/mkpeep.pike peep.c $(SRCDIR)/UnicodeData.txt $(TMP_BINDIR)/make_ci.pike builtin_functions.c $(SRCDIR)/treeopt.in $(TMP_BINDIR)/mktreeopt.pike las.c |
@echo foo > stamp-tpike-predep |
|
# make dependencies |
depend: $(DEPEND) |
gcc -MM -MG $(PREFLAGS) $(SRCDIR)/*.c | $(TMP_BINDIR)/fixdepends.sh $(SRCDIR) |
( cd modules && $(MAKE) $(MAKE_FLAGS) depend ) |
( cd post_modules && $(MAKE) $(MAKE_FLAGS) depend ) |
$(SRCDIR)/configure @ac_configure_args@ |
|
# Documentation... |
|
docs: |
mkdir docs |
|
wmml: force |
@test -d wmml/. || mkdir wmml |
@modules="`cd $(SRCDIR)/modules && ls -d */. | sed -e '/^_.*/d' -e 's/\/\.$$//'`"; \ |
echo The following modules are interresting:; \ |
echo "$$modules"; \ |
for d in $$modules; do \ |
echo Testing $$d...; \ |
if test -f "$(SRCDIR)/modules/$$d/wmml-header"; then \ |
echo Module $$d seems to contain WMML docs.; \ |
$(RUNPIKE) $(TMP_BINDIR)/mkwmml.pike \ |
"$(SRCDIR)/modules/$$d/wmml-header" \ |
`find $(SRCDIR)/modules/$$d/. $(SRCDIR)/modules/_$$d*/. -name '*.[ch]' -print 2>/dev/null` \ |
"$(SRCDIR)/modules/$$d/wmml-footer" >wmml/$$d.wmml; \ |
else :; fi; \ |
done |
|
manpages: wmml |
@(if test -f "$(SRCDIR)/../tutorial/tutorial.wmml"; then \ |
cat "$(SRCDIR)/../tutorial/tutorial.wmml"; \ |
else \ |
cat wmml/*.wmml; \ |
fi) | (cd wmml && $(RUNPIKE) $(TMP_BINDIR)/wmmltohtml2 \ |
$(TMP_BINDIR)/manpages man/man) |
|
tutorial: wmml |
( cd $(SRCDIR)/../tutorial/ ; $(MAKE) pike="$(RUNPIKE)" $(TARGET) ) |
|
# Lobotomization... |
|
lobotomize_crypto: |
( cd $(SRCDIR)/modules/_Crypto && ./.build_lobotomized_crypto ) |
( cd $(SRCDIR)/modules/_Lobotomized_Crypto && autoconf ) |
|
# |
# Pike internal targets |
# |
|
# touch modlist.h here to avoid doing this work again if the |
# modules/modlist.h target is checked later. |
module_objects: $(MODULE_REQUIREMENTS) |
@( cd modules ; rm remake >/dev/null 2>&1 || : ; \ |
$(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) || \ |
( test -f remake && $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) ) ) || exit $$? |
touch modules/modlist.h |
|
interpret_protos.h: $(SRCDIR)/interpret_functions.h |
egrep '^OPCODE' <$(SRCDIR)/interpret_functions.h >interpret_protos.h |
|
lex.o: $(SRCDIR)/lex.c interpret_protos.h |
|
lex_t.o: $(SRCDIR)/lex_t.c interpret_protos.h |
|
language.o: $(SRCDIR)/language.c $(SRCDIR)/object.h $(SRCDIR)/interpret.h $(SRCDIR)/program.h |
|
$(SRCDIR)/language.h: $(SRCDIR)/language.yacc |
@echo "Expect 1 shift/reduce conflict." |
( cd $(SRCDIR) &&\ |
$(YACC) $(YFLAGS) language.yacc &&\ |
mv y.tab.c language.c &&\ |
mv y.tab.h language.h ) |
|
$(SRCDIR)/language.c: $(SRCDIR)/language.h |
touch $(SRCDIR)/language.c |
|
|
# |
# This rule makes sure that builtin.c is created in the source dir. |
# |
$(SRCDIR)/builtin.c: $(SRCDIR)/builtin.cmod ./precompile.sh $(TMP_BINDIR)/precompile.pike |
|
# Internal testing target |
run_yacc: $(SRCDIR)/language.c |
|
modules/modlist.h: $(MODULE_REQUIREMENTS) |
@( cd modules ; rm remake >/dev/null 2>&1 || : ; \ |
$(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) || \ |
( test -f remake && $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) ) ) || exit $$? |
touch modules/modlist.h |
|
modules/modlist_headers.h: modules/modlist.h |
touch modules/modlist_headers.h |
|
module.o: modules/modlist_headers.h modules/modlist.h |
|
$(SRCDIR)/configure: $(SRCDIR)/configure.in |
cd $(SRCDIR) && autoconf |
|
config.status: $(SRCDIR)/configure |
./config.status --recheck |
|
modules/static_module_makefile: $(SRCDIR)/modules/static_module_makefile.in config.status |
-@(while :; do \ |
echo foo > cfl.static_module_makefile; test "`echo cfl.*`" = cfl.static_module_makefile && break; \ |
rm cfl.static_module_makefile; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \ |
arb=17; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \ |
done;) |
CONFIG_FILES=modules/static_module_makefile CONFIG_HEADERS="" ./config.status || \ |
(EXITCODE=$$?; rm cfl.static_module_makefile; exit $$EXITCODE) |
-@rm cfl.static_module_makefile |
|
modules/dynamic_module_makefile: $(SRCDIR)/@dmmsrc@ config.status |
-@(while :; do \ |
echo foo > cfl.dynamic_module_makefile; test "`echo cfl.*`" = cfl.dynamic_module_makefile && break; \ |
rm cfl.dynamic_module_makefile; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \ |
arb=19; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \ |
done;) |
CONFIG_FILES=modules/dynamic_module_makefile:@dmmsrc@ CONFIG_HEADERS="" ./config.status || \ |
(EXITCODE=$$?; rm cfl.dynamic_module_makefile; exit $$EXITCODE) |
-@rm cfl.dynamic_module_makefile |
|
Makefile: $(SRCDIR)/Makefile.in $(SRCDIR)/dependencies config.status |
-@(while :; do \ |
echo foo > cfl.$@; test "`echo cfl.*`" = cfl.$@ && break; \ |
rm cfl.$@; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \ |
arb=23; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \ |
done;) |
CONFIG_FILES=Makefile CONFIG_HEADERS="" ./config.status || \ |
(EXITCODE=$$?; rm cfl.$@; exit $$EXITCODE) |
-@rm cfl.$@ |
touch remake |
@echo "Run make again" |
@exit 1 |
|
precompile.sh: $(SRCDIR)/precompile.sh.in ./config.status |
-@(while :; do \ |
echo foo > cfl.$@; test "`echo cfl.*`" = cfl.$@ && break; \ |
rm cfl.$@; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \ |
arb=29; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \ |
done;) |
CONFIG_FILES=precompile.sh CONFIG_HEADERS="" ./config.status || \ |
(EXITCODE=$$?; rm cfl.$@; exit $$EXITCODE) |
-@rm cfl.$@ |
|
$(SRCDIR)/machine.h.in: $(SRCDIR)/stamp-h.in |
@if test -f $(SRCDIR)/machine.h.in; then :; else \ |
rm $(SRCDIR)/stamp-h.in; $(MAKE) $(SRCDIR)/stamp-h.in; \ |
fi |
|
$(SRCDIR)/stamp-h.in: $(SRCDIR)/configure.in $(SRCDIR)/acconfig.h |
cd $(SRCDIR) && autoheader |
echo foo > $(SRCDIR)/stamp-h.in |
|
machine.h: stamp-h |
@if test -f machine.h; then :; else \ |
rm stamp-h; $(MAKE) stamp-h; \ |
fi |
|
stamp-h: $(SRCDIR)/stamp-h.in $(SRCDIR)/machine.h.in config.status |
-@(while :; do \ |
echo foo > cfl.$@; test "`echo cfl.*`" = cfl.$@ && break; \ |
rm cfl.$@; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \ |
arb=31; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \ |
done;) |
CONFIG_FILES="" CONFIG_HEADERS=machine.h ./config.status || \ |
(EXITCODE=$$?; rm cfl.$@; exit $$EXITCODE) |
-@rm cfl.$@ |
|
testsuite: $(SRCDIR)/testsuite.in |
$(TMP_BINDIR)/mktestsuite $(SRCDIR)/testsuite.in >testsuite -DSRCDIR="$(SRCDIR)" |
|
header_uncompress: $(SRCDIR)/uncompressor.c |
$(CC) -O2 -static $(SRCDIR)/uncompressor.c -o header_uncompress -lz |
|
uncompress_header: $(SRCDIR)/uncompressor.c header_uncompress |
$(CC) -O2 -static $(SRCDIR)/uncompressor.c -o uncompress_header -lz -DSEEK_TO=`wc -c header_uncompress|sed 's/[^0-9]//g'` |
test "`wc -c header_uncompress|sed 's/[^0-9]//g'`" = "`wc -c uncompress_header|sed 's/[^0-9]//g'`" |
|
HFILES= \ |
operators.protos \ |
array.protos \ |
fd_control.protos \ |
backend.protos \ |
fdlib.protos \ |
bignum.protos \ |
fsort.protos \ |
pike_memory.protos \ |
pike_types.protos \ |
gc.protos \ |
port.protos \ |
builtin_functions_t.protos \ |
callback.protos \ |
hashtable.protos \ |
program.protos \ |
interpret.protos \ |
constants.protos \ |
language.protos \ |
queue.protos \ |
cpp.protos \ |
las_t.protos \ |
peep_t.protos \ |
rusage.protos \ |
cyclic.protos \ |
lex.protos \ |
security.protos \ |
signal_handler.protos \ |
docode.protos \ |
main.protos \ |
stralloc.protos \ |
mapping.protos \ |
stuff.protos \ |
dynamic_buffer.protos \ |
svalue.protos \ |
dynamic_load.protos \ |
module_support.protos \ |
threads.protos \ |
multiset.protos \ |
encode.protos \ |
object.protos \ |
error.protos \ |
opcodes.protos \ |
version.protos \ |
builtin.protos |
|
$(HFILES): precompile.sh |
|
import-stamp: $(HFILES) precompile.sh |
@./precompile.sh fake_dynamic_load.pike import_functions.tmp $(HFILES) |
@cmp import_functions.tmp import_functions.h >/dev/null || mv import_functions.tmp import_functions.h |
@echo hej >import-stamp |
|
import_functions.h: import-stamp |
test -f import-stamp || ( rm import-stamp ; $(MAKE) import-stamp ) |
|
export_functions.c: import_functions.h |
touch export_functions.c |
|
@dependencies@ |
|
|