fccd4c1998-03-28Henrik Grubbström (Grubba) #
5338cd2002-06-01Martin Stjernholm # $Id: Makefile.in,v 1.314 2002/06/01 16:34:33 mast Exp $
fccd4c1998-03-28Henrik Grubbström (Grubba) #
933d361996-04-29Fredrik Hübinette (Hubbe) # 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.
f3bce61996-06-21Fredrik Hübinette (Hubbe) LIBS=@LIBS@ $(EXTRALIBS)
933d361996-04-29Fredrik Hübinette (Hubbe) 
c1e9b11997-04-06Fredrik Hübinette (Hubbe) # This is normall the install program in the source directory
933d361996-04-29Fredrik Hübinette (Hubbe) INSTALL=@INSTALL@ SRCDIR=@srcdir@ VPATH=@srcdir@ # These are used while compiling
1a8e141997-02-27Fredrik Hübinette (Hubbe) LIBDIR_SRC = @LIBDIR@
c6f3ee1998-09-29Henrik Grubbström (Grubba) MANDIR_SRC = $(SRCDIR)/../man
933d361996-04-29Fredrik Hübinette (Hubbe) TMP_BINDIR = @BINDIR@ TMP_BUILDDIR = @BUILDDIR@
1a8e141997-02-27Fredrik Hübinette (Hubbe) TMP_LIBDIR = $(TMP_BUILDDIR)/lib
933d361996-04-29Fredrik Hübinette (Hubbe) 
26f3da2000-07-11Fredrik Hübinette (Hubbe) # # 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=
933d361996-04-29Fredrik Hübinette (Hubbe) prefix = @prefix@ exec_prefix = $(prefix)/bin
06983f1996-09-22Fredrik Hübinette (Hubbe) lib_prefix = $(prefix)/lib/pike
9defa21998-04-21Henrik Grubbström (Grubba) data_prefix = @datadir@ share_prefix = $(data_prefix)/pike
c6f3ee1998-09-29Henrik Grubbström (Grubba) man_prefix = $(prefix)/man
933d361996-04-29Fredrik Hübinette (Hubbe) 
21c1f71999-10-21Henrik Grubbström (Grubba) # Arguments for test_pike.pike used by the verify targets.
4414fc2000-07-26Martin Nilsson # TESTARGS = -a
21c1f71999-10-21Henrik Grubbström (Grubba) 
a17f0f2000-04-30Henrik Grubbström (Grubba) # Arguments for install.pike used by the install targets. INSTALLARGS = --new-style
933d361996-04-29Fredrik Hübinette (Hubbe) #
1a8e141997-02-27Fredrik Hübinette (Hubbe) # use bison please, yacc isn't good enough.
933d361996-04-29Fredrik Hübinette (Hubbe) # YACC=@YACC@ YFLAGS=-d -v #
91006b2000-03-21Fredrik Hübinette (Hubbe) # This may be -pg # PROFIL=@PROFIL@
933d361996-04-29Fredrik Hübinette (Hubbe)  #
1a5be11997-11-03Henrik Grubbström (Grubba) # OS dependant flags # OSFLAGS= #
933d361996-04-29Fredrik Hübinette (Hubbe) #Enable warnings from the compiler, if wanted. # WARN=@WARN@ #add extra defines here
af56471996-12-03Fredrik Hübinette (Hubbe) DEFINES=@CPPFLAGS@
933d361996-04-29Fredrik Hübinette (Hubbe)  # -O should work with all compilers OPTIMIZE=@OPTIMIZE@
e09c9e1999-08-13Martin Stjernholm # 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=
933d361996-04-29Fredrik Hübinette (Hubbe) # Preprocessor flags. PREFLAGS=-I. -I$(SRCDIR) $(DEFINES)
e4439c1998-09-01Fredrik Hübinette (Hubbe) OTHERFLAGS=@CFLAGS@ $(OSFLAGS) $(OPTIMIZE) $(WARN) $(PROFIL)
1909941997-11-04Henrik Grubbström (Grubba) NOOPTFLAGS=@CFLAGS@ @CPPFLAGS@ $(OSFLAGS) $(WARN) $(PROFIL)
933d361996-04-29Fredrik Hübinette (Hubbe) CFLAGS=$(PREFLAGS) $(OTHERFLAGS)
902adf1998-01-23Henrik Grubbström (Grubba) SMARTLINK=@SMARTLINK@ REALCC=@REALCC@
933d361996-04-29Fredrik Hübinette (Hubbe) CC=@CC@ CPP=@CPP@
ab46f72000-08-06Henrik Grubbström (Grubba) FALLBACK_CC=@FALLBACK_CC@
1909941997-11-04Henrik Grubbström (Grubba) AR=@AR@
0809711998-02-27Marcus Comstedt LD=@LD@
6ca4de1998-07-09Henrik Grubbström (Grubba) LDFLAGS=@LDFLAGS@ @LINKFORSHARED@ $(EXTRALDFLAGS)
933d361996-04-29Fredrik Hübinette (Hubbe) 
67a7192002-03-10Martin Stjernholm DEFAULT_RUNPIKE=$(TMP_BUILDDIR)/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m$(TMP_BUILDDIR)/master.pike $(PIKEOPTS)
d0f91a2001-01-26Martin Stjernholm USE_TPIKE=$(TMP_BUILDDIR)/precompile.sh
c6f4a82002-01-27Martin Stjernholm USE_PIKE=pike $(PIKEOPTS) RUNPIKE=$(@RUNPIKE@)
bdbd742000-08-07Henrik Grubbström (Grubba) RUNTPIKE=$(@RUNTPIKE@)
4839dd2001-09-02Marcus Comstedt PIKE_MODULE_RELOC=@PIKE_MODULE_RELOC@
933d361996-04-29Fredrik Hübinette (Hubbe) 
b111821999-11-18Fredrik Hübinette (Hubbe) MAKE_FLAGS=
933d361996-04-29Fredrik Hübinette (Hubbe)  # Add alloca.o if you don't have alloca() on your machine. #
1796d62000-08-14Martin Stjernholm OBJ= \
90c62d1997-01-26Fredrik Hübinette (Hubbe)  language.o \
fadd1d1999-01-21Fredrik Hübinette (Hubbe)  security.o \
fda0de1999-10-08Fredrik Noring  bignum.o \
aad99b2001-03-28Fredrik Hübinette (Hubbe)  pike_cpulib.o \
d4c0211998-05-05Henrik Grubbström (Grubba)  interpret.o \
06983f1996-09-22Fredrik Hübinette (Hubbe)  constants.o \
5740881998-01-01Fredrik Hübinette (Hubbe)  cpp.o \ fdlib.o \
fc33451997-10-02Fredrik Hübinette (Hubbe)  cyclic.o \
f3bce61996-06-21Fredrik Hübinette (Hubbe)  array.o \ backend.o \ callback.o \
90c62d1997-01-26Fredrik Hübinette (Hubbe)  encode.o \
f3bce61996-06-21Fredrik Hübinette (Hubbe)  docode.o \ dynamic_buffer.o \
ca74dd1996-10-08Fredrik Hübinette (Hubbe)  dynamic_load.o \
f3bce61996-06-21Fredrik Hübinette (Hubbe)  error.o \ fd_control.o \ fsort.o \ gc.o \ hashtable.o \ lex.o \
06983f1996-09-22Fredrik Hübinette (Hubbe)  multiset.o \ signal_handler.o \
9b1f032000-10-09Fredrik Hübinette (Hubbe)  pike_search.o \
06983f1996-09-22Fredrik Hübinette (Hubbe)  pike_types.o \
f3bce61996-06-21Fredrik Hübinette (Hubbe)  main.o \ mapping.o \
9aa6fa1997-05-19Fredrik Hübinette (Hubbe)  pike_memory.o \
dfa0b61997-01-21Fredrik Hübinette (Hubbe)  module_support.o \
dd6bca2001-07-20Henrik Grubbström (Grubba)  pikecode.o \
f3bce61996-06-21Fredrik Hübinette (Hubbe)  object.o \ opcodes.o \ operators.o \ port.o \ program.o \
ab56702001-04-30Martin Stjernholm  rbtree.o \
f3bce61996-06-21Fredrik Hübinette (Hubbe)  rusage.o \ stralloc.o \ stuff.o \
07513e1996-10-04Fredrik Hübinette (Hubbe)  threads.o \
6265aa1997-01-18Fredrik Hübinette (Hubbe)  version.o \
991e5a1998-04-28Fredrik Hübinette (Hubbe)  queue.o \
3a5b1d2000-05-24Fredrik Hübinette (Hubbe)  builtin.o \
4cdb802001-02-23Fredrik Hübinette (Hubbe)  iterators.o \
f3248c1996-08-03Fredrik Hübinette (Hubbe)  svalue.o @EXTRA_OBJS@
1f21332000-07-28Fredrik Hübinette (Hubbe) MODULE_REQUIREMENTS= \ machine.h \ global.h \
06e5432001-06-21Fredrik Hübinette (Hubbe)  precompile.sh-stamp \
1f21332000-07-28Fredrik Hübinette (Hubbe)  modules/static_module_makefile \ modules/dynamic_module_makefile \ $(SRCDIR)/language.h \
2ecd522001-01-12Martin Stjernholm  $(SRCDIR)/interpret_protos.h \
f677732001-01-19Henrik Grubbström (Grubba)  lib @EXTRA_MODULE_REQUIREMENTS@
ab46f72000-08-06Henrik Grubbström (Grubba) 
c6f4a82002-01-27Martin Stjernholm SRC_TARGETS= \
3a5b1d2000-05-24Fredrik Hübinette (Hubbe)  $(SRCDIR)/language.c \
c6f4a82002-01-27Martin Stjernholm  $(SRCDIR)/language.h \ $(SRCDIR)/interpret_protos.h \
7626bf2002-04-30Martin Stjernholm  $(SRCDIR)/interpret_functions_fixed.h \
c6f4a82002-01-27Martin Stjernholm  @PMOD_TARGETS@
3a5b1d2000-05-24Fredrik Hübinette (Hubbe) 
5f84582002-03-09Martin Stjernholm TPIKE_TARGETS= \ $(SRCDIR)/peep_engine.c \ $(SRCDIR)/case_info.h \ $(SRCDIR)/treeopt.h \
933d361996-04-29Fredrik Hübinette (Hubbe) #
632b191999-11-08Henrik Grubbström (Grubba) # The following objectfiles differ between tpike & pike: #
f173082001-02-01Fredrik Hübinette (Hubbe) TOBJ = las_t.o builtin_functions_t.o peep_t.o module_t.o POBJ = las.o builtin_functions.o peep.o module.o
632b191999-11-08Henrik Grubbström (Grubba)  #
933d361996-04-29Fredrik Hübinette (Hubbe) # User callable targets #
e3436f2002-04-11Martin Stjernholm # Update the dumped modules, but only if dump_modules has been used earlier. #
d0f91a2001-01-26Martin Stjernholm # Since post_modules might be static, we must remake pike after them # to make sure they are linked in.
2647272002-04-07Martin Nilsson all: module_objects tools
e3436f2002-04-11Martin Stjernholm  if [ -f dumpversion ]; then $(MAKE) $(MAKE_FLAGS) dump_modules; else :; fi
d0f91a2001-01-26Martin Stjernholm  $(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) post_modules
68e8ab1999-11-07Per Hedbor  $(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike
723fdb2001-11-26Henrik Grubbström (Grubba)  @if [ "`find . -name '*.fail' -print`" = "" ]; then :; else \ echo; \ echo "Pike compiled and linked ok, but the following file(s) "; \ echo "failed to compile with full optimization.";\ echo "This may affect performance negatively."; \ find . -name '*.fail' -print | sed -e 's/\.fail$$//' -e 's/^/ /'; \ echo; \ fi
68e8ab1999-11-07Per Hedbor 
67a7192002-03-10Martin Stjernholm documentation: pike dump_modules cd $(SRCDIR)/../refdoc && $(MAKE) $(MAKE_FLAGS) PIKE="$(RUNPIKE)" $(DOCTARGET)
14d6242001-04-21Henrik Grubbström (Grubba) 
d0f91a2001-01-26Martin Stjernholm post_modules: pike
68e8ab1999-11-07Per Hedbor  @( cd post_modules ; rm remake >/dev/null 2>&1 || : ; \ $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) || \ ( test -f remake && $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) ) ) || exit $$?
933d361996-04-29Fredrik Hübinette (Hubbe) 
f173082001-02-01Fredrik Hübinette (Hubbe) post_modules/modlist_headers.h:
19cacd2001-02-01Henrik Grubbström (Grubba)  @test -f post_modules/modlist_headers.h || touch post_modules/modlist_headers.h
f173082001-02-01Fredrik Hübinette (Hubbe)  post_modules/modlist.h:
19cacd2001-02-01Henrik Grubbström (Grubba)  @test -f post_modules/modlist.h || touch post_modules/modlist.h
f173082001-02-01Fredrik Hübinette (Hubbe)  post_modules/linker_options:
19cacd2001-02-01Henrik Grubbström (Grubba)  @test -f post_modules/linker_options || touch post_modules/linker_options
f173082001-02-01Fredrik Hübinette (Hubbe) 
84999f1998-08-07Henrik Grubbström (Grubba) compiler-warnings : clean @echo Summarizing compiler warnings. @echo @if $(MAKE) $(MAKE_FLAGS) all 2>compiler-warnings ; then \ echo; \ echo 'Compilation warning summary:'; \
95d3131998-08-07Henrik Grubbström (Grubba)  echo '----------------------------'; \
84999f1998-08-07Henrik Grubbström (Grubba)  else \ echo; \ echo 'Compilation warning and error summary:'; \
95d3131998-08-07Henrik Grubbström (Grubba)  echo '--------------------------------------'; \
84999f1998-08-07Henrik Grubbström (Grubba)  fi
95d3131998-08-07Henrik Grubbström (Grubba)  @echo
84999f1998-08-07Henrik Grubbström (Grubba)  @cat compiler-warnings
95d3131998-08-07Henrik Grubbström (Grubba)  @echo @echo 'End of summary' @echo '--------------'
84999f1998-08-07Henrik Grubbström (Grubba) 
5f84582002-03-09Martin Stjernholm tpike-real: $(SRC_TARGETS) $(OBJ) $(TOBJ) modules/linker_options
e7126e1999-11-08Henrik Grubbström (Grubba)  -@rm -f tpike || :
632b191999-11-08Henrik Grubbström (Grubba)  $(LD) $(LDFLAGS) $(OBJ) $(TOBJ) `cat modules/linker_options` $(LIBS) -o tpike
0491be1999-11-24Martin Stjernholm # Only want tpike to exist when using $(RUNTPIKE); we don't want to # require it actually being up-to-date.
d0f91a2001-01-26Martin Stjernholm # # If RUNPIKE has been overridden we don't bother to build tpike. The # precompile.sh script will then fall back to use RUNPIKE when it # doesn't find tpike, and we assume that RUNPIKE doesn't point to a # pike from the stone age. $(TMP_BUILDDIR)/tpike: precompile.sh-stamp @if test "x$(RUNPIKE)" = "x$(DEFAULT_RUNPIKE)"; then \ $(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) tpike-real; \ else :; fi
0491be1999-11-24Martin Stjernholm  # 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
bca1951999-11-26Martin Stjernholm # make the $(OBJ)s concurrently with this one. stamp-tpike-predep # records the $(POBJ) dependencies without tpike.
44cd612001-07-03Martin Stjernholm pike: $(OBJ) master-stamp pike.syms modules/linker_options stamp-tpike-predep post_modules/linker_options
0491be1999-11-24Martin Stjernholm  $(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) $(POBJ)
632b191999-11-08Henrik Grubbström (Grubba)  -@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
f173082001-02-01Fredrik Hübinette (Hubbe)  $(LD) $(LDFLAGS) $(OBJ) $(POBJ) `cat modules/linker_options post_modules/linker_options` $(LIBS) -o pike
5338cd2002-06-01Martin Stjernholm # The dumped modules are removed whenever Pike is relinked since some # of the bytecode methods (e.g. ia32) stores absolute addresses to # global structs. That should probably be fixed in them so that dumped # modules aren't link order dependent. if [ -f dumpversion ]; then $(MAKE) $(MAKE_FLAGS) delete_dumped_modules; else :; fi
933d361996-04-29Fredrik Hübinette (Hubbe)  # purify
44cd612001-07-03Martin Stjernholm pure: $(OBJ) $(POBJ) master-stamp module_objects
d0a5641997-10-15Henrik Grubbström (Grubba)  -@mv pike pike.old 2>/dev/null || true
f173082001-02-01Fredrik Hübinette (Hubbe)  $(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 post_modules/linker_options` $(LIBS) -o pike
933d361996-04-29Fredrik Hübinette (Hubbe)  # purecov
44cd612001-07-03Martin Stjernholm cover: $(OBJ) $(POBJ) master-stamp module_objects
d0a5641997-10-15Henrik Grubbström (Grubba)  -@mv pike pike.old 2>/dev/null || true
f173082001-02-01Fredrik Hübinette (Hubbe)  $(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 post_modules/linker_options` $(LIBS) -o pike
933d361996-04-29Fredrik Hübinette (Hubbe)  # quantify
44cd612001-07-03Martin Stjernholm quant: $(OBJ) $(POBJ) master-stamp module_objects
d0a5641997-10-15Henrik Grubbström (Grubba)  -@mv pike pike.old 2>/dev/null || true
f173082001-02-01Fredrik Hübinette (Hubbe)  $(SMARTLINK) quantify $(REALCC) $(LDFLAGS) $(OBJ) $(POBJ) `cat modules/linker_options post_modules/linker_options` $(LIBS) -o pike
1a5be11997-11-03Henrik Grubbström (Grubba) 
c6c7121998-04-08Fredrik Hübinette (Hubbe) atom: pike
2a34ce1998-08-02Henrik Grubbström (Grubba)  atom pike -tool atom -env threads -g -v `find lib/modules -type f -name '*.so' -print | sed -e 's/^/-incobj /g'`
c6c7121998-04-08Fredrik Hübinette (Hubbe)  mv pike pike.pre-atom mv pike.third.threads pike @echo Make sure you have '.' in your LD_LIBRARY_PATH.
fccd4c1998-03-28Henrik Grubbström (Grubba) 
5ff0ec1998-04-15Fredrik Hübinette (Hubbe) pixie: pike
4cb4be1998-04-23Fredrik Hübinette (Hubbe)  atom pike -tool pixie -env threads -g -v `find lib/modules -type f -name '*.so' -print | sed -e 's/^/-incobj /g'`
5ff0ec1998-04-15Fredrik Hübinette (Hubbe)  mv pike pike.pre-pixie mv pike.pixie.threads pixie @echo Make sure you have '.' in your LD_LIBRARY_PATH.
2647272002-04-07Martin Nilsson tools: hilfe rsif
fccd4c1998-03-28Henrik Grubbström (Grubba) hilfe: $(TMP_BINDIR)/hilfe Makefile
2647272002-04-07Martin Nilsson  @echo "Creating hilfe..."; \ ( sed -e 's!/usr/bin/env pike!$(exec_prefix)!' <$(TMP_BINDIR)/hilfe \ >./hilfe && chmod 755 ./hilfe) || exit 1 ; rsif: $(TMP_BINDIR)/rsif Makefile @echo "Creating rsif..."; \ ( sed -e 's!/usr/bin/env pike!$(exec_prefix)!' <$(TMP_BINDIR)/rsif \ >./rsif && chmod 755 ./rsif) || exit 1 ;
fccd4c1998-03-28Henrik Grubbström (Grubba) 
5933bb2002-03-08Martin Stjernholm dump_modules: pike master-stamp $(SRCDIR)/dumpmodule.pike
e3436f2002-04-11Martin Stjernholm  args="$(DUMPARGS)"; \
ceacfa2002-05-31Martin Stjernholm  args=$${args:-"--log-file --update-only=dumpversion --report-failed"}; \ $(RUNPIKE) $(SRCDIR)/dumpmodule.pike $$args \
e3436f2002-04-11Martin Stjernholm  --recursive --target-dir=lib "$(LIBDIR_SRC)/modules"
fccd4c1998-03-28Henrik Grubbström (Grubba) 
67a7192002-03-10Martin Stjernholm force_dump_modules: -rm dumpversion 2>/dev/null $(MAKE) $(MAKE_FLAGS) dump_modules
5338cd2002-06-01Martin Stjernholm delete_dumped_modules:
a312e52002-05-01Martin Stjernholm  -find lib -type f -name \*.o | xargs rm -f
5338cd2002-06-01Martin Stjernholm  undump_modules: delete_dumped_modules
a312e52002-05-01Martin Stjernholm  -rm dumpversion 2>/dev/null
4d51d62001-11-08Martin Nilsson .SUFFIXES: .c .h .o .cmod .pp .pph .protos .h_src
1f21332000-07-28Fredrik Hübinette (Hubbe)  .c.pp:
dbecc32000-10-30Henrik Grubbström (Grubba)  $(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \ -DPMOD_PROTO=PMOD_PROTO "$<" >"$@"
1f21332000-07-28Fredrik Hübinette (Hubbe) 
8cb5492001-11-12Martin Stjernholm .c.protos: precompile.sh-stamp
c9788b2002-03-09Martin Stjernholm  ./precompile.sh --cache fake_dynamic_load.pike >"$@" --cpp --protos \
dbecc32000-10-30Henrik Grubbström (Grubba)  $(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \
d0f91a2001-01-26Martin Stjernholm  -DPMOD_PROTO=PMOD_PROTO -DPIKE_PRECOMPILER=1 "$<" || \ { rm "$@"; exit 1; }
1f21332000-07-28Fredrik Hübinette (Hubbe)  .h.pph:
dbecc32000-10-30Henrik Grubbström (Grubba)  $(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \ -DPMOD_PROTO=PMOD_PROTO "$<" >"$@"
1f21332000-07-28Fredrik Hübinette (Hubbe) 
c1583e1999-10-04Fredrik Hübinette (Hubbe) 
1a5be11997-11-03Henrik Grubbström (Grubba) # Several optimizers have problems with interpret.c # First try compiling with optimization and if that doesn't work, without.
c1583e1999-10-04Fredrik Hübinette (Hubbe) # GCC dumps core on some files @ OSF1 # This kluge should work around that... .c.o: @echo "Compiling $<" ;\
610d052001-07-06Henrik Grubbström (Grubba)  rm -f $@.fail >/dev/null 2>&1; \
ab46f72000-08-06Henrik Grubbström (Grubba)  if $(CC) $(CFLAGS) -c $< -o $@ ; then : ; else \
abeefc2002-04-30Martin Stjernholm  status=$$?; \ if test x"@noopt_retry@" = xyes ; then \ echo "WARNING: Compiler failure! Trying without optimization!" >&2;\ echo "$(CC) $(PREFLAGS) $(CFLAGS) -c $< -o $@" >$@.fail ;\ if NO_ULIMIT=yes $(CC) $(PREFLAGS) $(NOOPTFLAGS) -c $< -o $@ ; then : ; else \ status=$$?; \ echo "Compilation command was:" >&2;\ echo "$(CC) $(PREFLAGS) $(NOOPTFLAGS) -c $< -o $@" >&2 ;\ exit $$status; \ fi; \ else \ echo "Compilation command was:" >&2;\ echo "$(CC) $(PREFLAGS) $(CFLAGS) -c $< -o $@" >&2 ;\ exit $$status; \
79e1502002-04-11Martin Stjernholm  fi; \
c1583e1999-10-04Fredrik Hübinette (Hubbe)  fi
1a5be11997-11-03Henrik Grubbström (Grubba) 
3a5b1d2000-05-24Fredrik Hübinette (Hubbe) # # 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 #
7c61fc2002-01-28Martin Stjernholm .cmod.c: precompile.sh-stamp $(TMP_BINDIR)/precompile.pike
c9788b2002-03-09Martin Stjernholm  ./precompile.sh --cache precompile.pike >"$@" "$<" || { rm "$@"; exit 1; }
3a5b1d2000-05-24Fredrik Hübinette (Hubbe) 
3a0a532001-01-13Martin Stjernholm # This rule is used for some header files that are generated from the
0a34dc2001-01-23Martin Stjernholm # source, to avoid excessive rebuilding when the source change in ways # that doesn't affect the header.
3a0a532001-01-13Martin Stjernholm # # It can cause a .h target to be out-of-date repeatedly, but since it # runs fast that's not an issue. This technique only works well in # make's that stat the target again after the rule has run and
0a34dc2001-01-23Martin Stjernholm # recalculate the dependencies from that. Most make's seems to behave # like that.
3a0a532001-01-13Martin Stjernholm .h_src.h:
0a34dc2001-01-23Martin Stjernholm  @if test -f "$@"; then \ cmp -s "$<" "$@"; \
3a0a532001-01-13Martin Stjernholm  else \
0a34dc2001-01-23Martin Stjernholm  false; \ fi || ( \
3a0a532001-01-13Martin Stjernholm  echo "cp $< $@"; \ cp "$<" "$@"; \
0a34dc2001-01-23Martin Stjernholm  )
3a0a532001-01-13Martin Stjernholm 
1a5be11997-11-03Henrik Grubbström (Grubba) force :
c1583e1999-10-04Fredrik Hübinette (Hubbe)  @:
0cd76f1998-10-22Fredrik Hübinette (Hubbe) 
933d361996-04-29Fredrik Hübinette (Hubbe) # install
2647272002-04-07Martin Nilsson install: pike tools pike-module aclocal
a17f0f2000-04-30Henrik Grubbström (Grubba)  @$(RUNPIKE) $(TMP_BINDIR)/install.pike $(INSTALLARGS) \
c37c7e1999-03-26Fredrik Hübinette (Hubbe)  exec_prefix="$(exec_prefix)" lib_prefix="$(lib_prefix)" \
fadd1d1999-01-21Fredrik Hübinette (Hubbe)  TMP_LIBDIR="$(TMP_LIBDIR)" LIBDIR_SRC="$(LIBDIR_SRC)" \ SRCDIR="$(SRCDIR)" prefix="$(prefix)" MANDIR_SRC="$(MANDIR_SRC)" \
26f3da2000-07-11Fredrik Hübinette (Hubbe)  man_prefix="$(man_prefix)" pike_name=$(pike_name) \
4839dd2001-09-02Marcus Comstedt  fakeroot="$(buildroot)" PIKE_MODULE_RELOC="$(PIKE_MODULE_RELOC)"
fadd1d1999-01-21Fredrik Hübinette (Hubbe) 
2647272002-04-07Martin Nilsson install_interactive: pike tools pike-module aclocal
18ca1f1999-11-11Fredrik Hübinette (Hubbe)  @$(RUNPIKE) $(TMP_BINDIR)/install.pike --interactive \
9f7b7e2000-01-09Fredrik Hübinette (Hubbe)  exec_prefix="$(exec_prefix)" prefix=$(prefix) \
18ca1f1999-11-11Fredrik Hübinette (Hubbe)  TMP_LIBDIR="$(TMP_LIBDIR)" LIBDIR_SRC="$(LIBDIR_SRC)" \
26f3da2000-07-11Fredrik Hübinette (Hubbe)  SRCDIR="$(SRCDIR)" MANDIR_SRC="$(MANDIR_SRC)" \
4839dd2001-09-02Marcus Comstedt  fakeroot="$(buildroot)" PIKE_MODULE_RELOC="$(PIKE_MODULE_RELOC)"
18ca1f1999-11-11Fredrik Hübinette (Hubbe) 
933d361996-04-29Fredrik Hübinette (Hubbe) # tidy up a bit tidy:
610d052001-07-06Henrik Grubbström (Grubba)  -rm -f *.fail *.o *.obj *.pp *.protos core y.output y.tab.c y.tab.h
56f4f42001-09-18Fredrik Hübinette (Hubbe)  -rm -f $(TMP_BINDIR)/core *.o *.i *.i~ testsuite dynloadtest*
a312e52002-05-01Martin Stjernholm  -find lib -type f -name \*.o | xargs rm -f
933d361996-04-29Fredrik Hübinette (Hubbe)  # make clean clean: tidy
2a34ce1998-08-02Henrik Grubbström (Grubba)  -( cd modules; $(MAKE) $(MAKE_FLAGS) clean )
5634851999-12-31Fredrik Hübinette (Hubbe)  -( cd post_modules; $(MAKE) $(MAKE_FLAGS) clean )
bca1951999-11-26Martin Stjernholm  -rm -rf test-install test-pike
394d7d1999-04-08Fredrik Hübinette (Hubbe)  -rm -f TAGS tags yacc.acts yacc.debug yacc.tmp *.debug.log a.out
2647272002-04-07Martin Nilsson  -rm -f hilfe rsif master.pike compiler-warnings
44cd612001-07-03Martin Stjernholm  -rm -f tpike stamp-tpike-predep import-stamp modules-stamp master-stamp
3816832000-09-05Martin Stjernholm  -rm -rf lib/modules/*
2a34ce1998-08-02Henrik Grubbström (Grubba) # -rm -f lib/master.pike
933d361996-04-29Fredrik Hübinette (Hubbe)  # make _really_ clean spotless: clean
3b285d1998-08-02Henrik Grubbström (Grubba)  -(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 \
2a34ce1998-08-02Henrik Grubbström (Grubba)  -name 'conftest.*' -o -name 'stamp-h' ')' -exec rm -f \{\} \;
933d361996-04-29Fredrik Hübinette (Hubbe)  -rm -f lexical.c mon.out *.ln config.status
623c2a1998-08-02Henrik Grubbström (Grubba)  -rm -f $(TMP_BINDIR)/*~ $(TMP_BINDIR)/\#*\#
334e3d1997-04-16Fredrik Hübinette (Hubbe)  -rm -f pike pike.old l.outa*
e5bb7d1996-09-23Fredrik Hübinette (Hubbe)  -rm -f modules/*/testsuite
2a34ce1998-08-02Henrik Grubbström (Grubba)  -rm -f modules/static_module_makefile modules/dynamic_module_makefile
690de62001-01-23Martin Stjernholm  -rm -f precompile.sh precompile.sh-stamp
334e3d1997-04-16Fredrik Hübinette (Hubbe)  -rm -rf lib
933d361996-04-29Fredrik Hübinette (Hubbe) 
3b285d1998-08-02Henrik Grubbström (Grubba) distclean: spotless find . -type f '(' -name 'config.log' -o -name 'config.status' -o \
2a34ce1998-08-02Henrik Grubbström (Grubba)  -name 'config.cache' ')' -exec rm -f \{\} \; cvsclean: distclean
8a046b2000-02-22Fredrik Hübinette (Hubbe)  ( for d in `cd $(SRCDIR) && find . -type d -print`; do \
2a49501998-08-02Henrik Grubbström (Grubba)  if test -f "$(SRCDIR)/$$d/.cvsignore" ; then \ (cd "$$d" && rm -f `cat "$(SRCDIR)/$$d/.cvsignore"`); \ (cd "$(SRCDIR)/$$d" && rm -f `cat "$(SRCDIR)/$$d/.cvsignore"`); \
83a7a21998-08-02Henrik Grubbström (Grubba)  else :; fi; \ done)
3b285d1998-08-02Henrik Grubbström (Grubba) 
933d361996-04-29Fredrik Hübinette (Hubbe) # create tags tags: ctags *.c TAGS: etags -t *.h *.c # verify / debug
8d3e031998-02-27Fredrik Hübinette (Hubbe) module_testsuites:
8a046b2000-02-22Fredrik Hübinette (Hubbe)  ( cd modules && $(MAKE) $(MAKE_FLAGS) testsuites )
833da22001-06-28Per Hedbor  ( cd post_modules && $(MAKE) $(MAKE_FLAGS) testsuites )
8d3e031998-02-27Fredrik Hübinette (Hubbe) 
177f512001-07-03Fredrik Hübinette (Hubbe) just_verify: module_testsuites testsuite master-stamp
79e1502002-04-11Martin Stjernholm  if test "x$(TESTARGS)" = x ; then args="-a" ; else args="$(TESTARGS)" ; fi; \
b4df331999-10-16Martin Stjernholm  $(RUNPIKE) $(TMP_BINDIR)/test_pike.pike $$args
394d7d1999-04-08Fredrik Hübinette (Hubbe) 
56f4f42001-09-18Fredrik Hübinette (Hubbe) # Testsuite for dynamic loading debugging test_dlopen: dynloadtest.sh sh ./dynloadtest.sh dynloadtest.sh: $(SRCDIR)/test_dynamic_loading.in
0f8d8e2001-11-08Fredrik Hübinette (Hubbe)  m4 "$(SRCDIR)/test_dynamic_loading.in" >"$@"
56f4f42001-09-18Fredrik Hübinette (Hubbe)  dynloadtest.c: dynamic_load.c dynloadtest: dynloadtest.o @EXTRA_OBJS@ fdlib.o port.o $(LD) $(LDFLAGS) dynloadtest.o @EXTRA_OBJS@ fdlib.o port.o $(LIBS) -o dynloadtest
177f512001-07-03Fredrik Hübinette (Hubbe) tinstall: aclocal master-stamp aclocal
49b5972000-10-08Henrik Grubbström (Grubba)  -rm -rf test-install
4839dd2001-09-02Marcus Comstedt  $(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)" PIKE_MODULE_RELOC="$(PIKE_MODULE_RELOC)"
7b16372001-02-23Henrik Grubbström (Grubba) 
177f512001-07-03Fredrik Hübinette (Hubbe) just-tinstall: aclocal master-stamp aclocal
4839dd2001-09-02Marcus Comstedt  $(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)" PIKE_MODULE_RELOC="$(PIKE_MODULE_RELOC)"
394d7d1999-04-08Fredrik Hübinette (Hubbe) 
752e101999-04-30Fredrik Hübinette (Hubbe)  verify: module_testsuites testsuite tinstall
849c322001-01-21Henrik Grubbström (Grubba)  PIKE_MODULE_PATH=""; PIKE_INCLUDE_PATH=""; \
1a783f1999-08-11Martin Stjernholm  if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \
632b191999-11-08Henrik Grubbström (Grubba)  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
115ae01996-09-25Fredrik Hübinette (Hubbe) 
177f512001-07-03Fredrik Hübinette (Hubbe) verify_installed: module_testsuites testsuite master-stamp
1a783f1999-08-11Martin Stjernholm  if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \
632b191999-11-08Henrik Grubbström (Grubba)  $(exec_prefix)/pike $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike $$args
90e9781999-01-31Fredrik Hübinette (Hubbe) 
af56471996-12-03Fredrik Hübinette (Hubbe) check: verify
b298e01997-04-16Fredrik Hübinette (Hubbe) sure: verify
933d361996-04-29Fredrik Hübinette (Hubbe) # verify / debug verbose
177f512001-07-03Fredrik Hübinette (Hubbe) verbose_verify: module_testsuites testsuite master-stamp
94d3961999-10-27Henrik Grubbström (Grubba)  if test "$(TESTARGS)" = "" ; then args="-a" ; else args="$(TESTARGS)" ; fi; \
1a783f1999-08-11Martin Stjernholm  $(RUNPIKE) $(TMP_BINDIR)/test_pike.pike --verbose $$args
933d361996-04-29Fredrik Hübinette (Hubbe)  # verify & debug VERBOSE
177f512001-07-03Fredrik Hübinette (Hubbe) gdb_verify: module_testsuites testsuite master-stamp
80ef121997-03-17Fredrik Hübinette (Hubbe)  @echo >.gdbinit handle SIGFPE nostop noprint pass @echo >>.gdbinit handle SIGUSR1 nostop noprint pass
4a85681998-08-02Henrik Grubbström (Grubba)  @echo >>.gdbinit handle SIGUSR2 nostop noprint pass
a1190c1999-09-09Fredrik Hübinette (Hubbe)  @echo >>.gdbinit handle SIGLWP nostop noprint pass
44917b2000-10-13Fredrik Hübinette (Hubbe)  @if kill -l | grep SIGRTMIN >/dev/null ; then \ echo >>.gdbinit handle SIG32 nostop noprint pass ;\ else :; fi
8aae6d1999-08-19Fredrik Hübinette (Hubbe)  @echo >>.gdbinit break debug_fatal
a2123e2001-12-09Martin Stjernholm  @if test "$(TESTARGS)" = "" ; then args="-a -v -v" ; else args="$(TESTARGS)" ; fi; \ echo >>.gdbinit run -m$(TMP_BUILDDIR)/master.pike $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike --no-watchdog $$args
0677532002-05-13Martin Stjernholm  gdb $(TMP_BUILDDIR)/pike
41a0f41996-06-09Fredrik Hübinette (Hubbe)  @rm .gdbinit
933d361996-04-29Fredrik Hübinette (Hubbe) 
2eeada2001-10-05Mirar (Pontus Hagland) # fast test fast_verify_testsuite: testsuite PIKE_MODULE_PATH=""; PIKE_INCLUDE_PATH=""; \ 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
933d361996-04-29Fredrik Hübinette (Hubbe) # run hilfe, for interactive testing run_hilfe:
b0bda12002-04-08Marcus Comstedt  $(RUNPIKE)
933d361996-04-29Fredrik Hübinette (Hubbe) 
b298e01997-04-16Fredrik Hübinette (Hubbe) feature_list: $(RUNPIKE) $(TMP_BINDIR)/feature_list
17eada2000-12-02Martin Stjernholm lib: Makefile
fccd4c1998-03-28Henrik Grubbström (Grubba)  @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)
1a8e141997-02-27Fredrik Hübinette (Hubbe) 
76b1071998-04-17Fredrik Hübinette (Hubbe) 
6ca4de1998-07-09Henrik Grubbström (Grubba) master.pike: $(LIBDIR_SRC)/master.pike.in Makefile
6d41372000-02-05Marcus Comstedt  t="$$PIKE_PATH_TRANSLATE"; if test "x$$t" = "x"; then t=s,x,x,; else :; fi; \
4839dd2001-09-02Marcus Comstedt  if test "x$(PIKE_MODULE_RELOC)" = "x"; then u=s,x,x,; else u='s/^#undef PIKE_MODULE_RELOC/#define PIKE_MODULE_RELOC 1/'; fi; \
8084452000-12-19Marcus Comstedt  sed -e 's!¤lib_prefix¤!'"`echo "$(TMP_LIBDIR)" | sed -e "$$t"`"'!' <$(LIBDIR_SRC)/master.pike.in \
4839dd2001-09-02Marcus Comstedt  | sed -e 's!¤share_prefix¤!'"`echo "$(LIBDIR_SRC)" | sed -e "$$t"`"'!' \ | sed -e "$$u" >master.pike
76b1071998-04-17Fredrik Hübinette (Hubbe) 
44cd612001-07-03Martin Stjernholm # Want master.pike up-to-date, but yet there's no dependency on the # that file. Works like the .h_src.h target. master-stamp: master.pike @test -f master-stamp || echo foo > master-stamp
d49add2001-04-25Fredrik Hübinette (Hubbe) pike.syms: $(SRCDIR)/interpret.c $(SRCDIR)/interpreter.h $(SRCDIR)/program.c $(SRCDIR)/builtin_functions.c ( cat $(SRCDIR)/*.h *.h | egrep '^[ ]*#[ ]*define[ ][ ]*[a-zA-Z_0-9]*[ ][ ]*[0-9][xabcdefABCDEF0-9]*[ ]*' ; \ echo "#define" `$(CPP) $(PREFLAGS) -DSTEP_BREAK_LINE='STEP_BREAK_LINE __LINE__' $(SRCDIR)/interpreter.h | grep STEP_BREAK_LINE` ) >pike.syms
e269811998-09-20Fredrik Hübinette (Hubbe) 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
d0f91a2001-01-26Martin Stjernholm # We touch the files that depend on language.h_src and # interpret_protos.h_src to ensure that the .h_src.h rule doesn't have # anything to do in the dist.
c6f4a82002-01-27Martin Stjernholm source: depend
d0f91a2001-01-26Martin Stjernholm  touch $(SRCDIR)/language.c $(SRCDIR)/language.h $(SRCDIR)/interpret_protos.h
06983f1996-09-22Fredrik Hübinette (Hubbe) # make export archive (requires compiled Pike)
933d361996-04-29Fredrik Hübinette (Hubbe) # 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.
f838321996-10-09Fredrik Hübinette (Hubbe) 
d0f91a2001-01-26Martin Stjernholm full_export: source
f838321996-10-09Fredrik Hübinette (Hubbe)  chmod +x $(SRCDIR)/install-sh
0409962002-04-08Mikael Brandström  $(RUNPIKE) $(TMP_BINDIR)/export.pike --srcdir="$(SRCDIR)" \ --exportlist=src/export_list --name=Pike-v%maj.%min.%bld --tag
933d361996-04-29Fredrik Hübinette (Hubbe) 
7160d62002-05-01Martin Nilsson EXPORT_NAME=Pike-v%maj.%min-%Y%M%D
19c8dd2002-04-08Mikael Brandström snapshot_export: source chmod +x $(SRCDIR)/install-sh
0409962002-04-08Mikael Brandström  $(RUNPIKE) $(TMP_BINDIR)/export.pike --srcdir="$(SRCDIR)" \
7160d62002-05-01Martin Nilsson  --exportlist=src/export_list --name=$(EXPORT_NAME)
19c8dd2002-04-08Mikael Brandström 
8017aa2000-04-10Fredrik Hübinette (Hubbe) export: full_export
2dd4b21999-08-24Fredrik Hübinette (Hubbe) bin_export: aclocal
9f7b7e2000-01-09Fredrik Hübinette (Hubbe)  @rm -f *.burk
99bb2c1999-06-09Fredrik Hübinette (Hubbe)  @$(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)" \
4839dd2001-09-02Marcus Comstedt  man_prefix="$(man_prefix)" pike_name=$(pike_name) PIKE_MODULE_RELOC="$(PIKE_MODULE_RELOC)"
9f7b7e2000-01-09Fredrik Hübinette (Hubbe)  @case " $(CC)" in \
8c7ba52000-12-01Henrik Grubbström (Grubba)  *\ rnt*) \
9f7b7e2000-01-09Fredrik Hübinette (Hubbe)  $(MAKE) $(MAKE_FLAGS) uncompress_header ;\
ae0f162000-12-01Henrik Grubbström (Grubba)  echo "Compressing..." ;\
9f7b7e2000-01-09Fredrik Hübinette (Hubbe)  filename=`echo *.burk | sed 's@\.burk$$@@g'`.exe ;\ ( cat uncompress_header.exe ; gzip -9 -c *.burk ) > $$filename ;\
ae0f162000-12-01Henrik Grubbström (Grubba)  echo "Done." ;\
9f7b7e2000-01-09Fredrik Hübinette (Hubbe)  ;; \ esac
d0f91a2001-01-26Martin Stjernholm #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
933d361996-04-29Fredrik Hübinette (Hubbe) 
e07d001999-12-19Martin Stjernholm $(SRCDIR)/peep_engine.c: $(TMP_BUILDDIR)/tpike $(SRCDIR)/peep.in $(TMP_BINDIR)/mkpeep.pike
9c4db52001-01-27Henrik Grubbström (Grubba)  $(RUNTPIKE) $(TMP_BINDIR)/mkpeep.pike $(SRCDIR)/peep.in >$(SRCDIR)/peep_engine.c || ( rm $(SRCDIR)/peep_engine.c ; exit 1 )
933d361996-04-29Fredrik Hübinette (Hubbe) 
115ae01996-09-25Fredrik Hübinette (Hubbe) peep.o: $(SRCDIR)/peep_engine.c
d8632c1996-05-04Fredrik Hübinette (Hubbe) 
632b191999-11-08Henrik Grubbström (Grubba) peep_t.o: peep.c
e07d001999-12-19Martin Stjernholm $(SRCDIR)/case_info.h: $(TMP_BUILDDIR)/tpike $(SRCDIR)/UnicodeData.txt $(TMP_BINDIR)/make_ci.pike
9c4db52001-01-27Henrik Grubbström (Grubba)  $(RUNTPIKE) $(TMP_BINDIR)/make_ci.pike <$(SRCDIR)/UnicodeData.txt >$(SRCDIR)/case_info.h || ( rm $(SRCDIR)/case_info.h ; exit 1 )
94d9921999-03-20Henrik Grubbström (Grubba) 
c8eb922001-06-10Henrik Grubbström (Grubba) builtin_functions.o: $(SRCDIR)/case_info.h $(SRCDIR)/combine_path.h
5b8ea71999-03-20Henrik Grubbström (Grubba) 
c8eb922001-06-10Henrik Grubbström (Grubba) builtin_functions_t.o: builtin_functions.c $(SRCDIR)/combine_path.h
632b191999-11-08Henrik Grubbström (Grubba) 
e07d001999-12-19Martin Stjernholm $(SRCDIR)/treeopt.h: $(TMP_BUILDDIR)/tpike $(SRCDIR)/treeopt.in $(TMP_BINDIR)/mktreeopt.pike
9c4db52001-01-27Henrik Grubbström (Grubba)  $(RUNTPIKE) $(TMP_BINDIR)/mktreeopt.pike $(SRCDIR)/treeopt.in || ( rm $(SRCDIR)/treeopt.h ; exit 1 )
632b191999-11-08Henrik Grubbström (Grubba)  las.o: $(SRCDIR)/treeopt.h las_t.o: las.c
fe104b2000-11-25Henrik Grubbström (Grubba) # This dependency is here to make sure that lexer[012].h are generated. # The reason for the split is that some compilers (read lc) generate # better code then. Strange, but true. lex.o: lexer0.h lexer1.h lexer2.h
373b292000-11-30Henrik Grubbström (Grubba) lex.protos: lexer0.h lexer1.h lexer2.h
fe104b2000-11-25Henrik Grubbström (Grubba) lexer0.h: lexer.h
d2d1102000-11-27Henrik Grubbström (Grubba)  cp "$(SRCDIR)/lexer.h" "$@"
fe104b2000-11-25Henrik Grubbström (Grubba)  lexer1.h: lexer.h
d2d1102000-11-27Henrik Grubbström (Grubba)  cp "$(SRCDIR)/lexer.h" "$@"
fe104b2000-11-25Henrik Grubbström (Grubba)  lexer2.h: lexer.h
d2d1102000-11-27Henrik Grubbström (Grubba)  cp "$(SRCDIR)/lexer.h" "$@"
fe104b2000-11-25Henrik Grubbström (Grubba) 
d49add2001-04-25Fredrik Hübinette (Hubbe)  # unbug needs interpreter_nd.h to be able to # set separate breakpoints in eval_instruction_with/without_debug interpreter_debug.h: interpreter.h cp "$(SRCDIR)/interpreter.h" "$@"
7626bf2002-04-30Martin Stjernholm interpret.o: interpreter_debug.h $(SRCDIR)/interpret_functions_fixed.h
d49add2001-04-25Fredrik Hübinette (Hubbe) 
bca1951999-11-26Martin Stjernholm # 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
5625661997-04-15Fredrik Hübinette (Hubbe) # make dependencies
5f84582002-03-09Martin Stjernholm depend: $(SRC_TARGETS) $(TPIKE_TARGETS)
5952a41999-11-11Henrik Grubbström (Grubba)  gcc -MM -MG $(PREFLAGS) $(SRCDIR)/*.c | $(TMP_BINDIR)/fixdepends.sh $(SRCDIR)
d0f91a2001-01-26Martin Stjernholm  -@(while :; do \ echo foo > cfl.$@; test "`echo cfl.*`" = cfl.$@ && break; \ rm cfl.$@; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \ arb=37; 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.$@
5f84582002-03-09Martin Stjernholm  @( cd modules && { \ rm -f remake; \ $(MAKE) $(MAKE_FLAGS) depend || \ { test -f remake && $(MAKE) $(MAKE_FLAGS) depend; }; \ }) @if [ "x$(RUNPIKE)" != "x$(DEFAULT_RUNPIKE)" -o -x $(TMP_BUILDDIR)/pike ]; then \ $(MAKE) $(MAKE_FLAGS) post_modules_depend; \ else \ echo "Skipping make depend in post_modules since a fresh pike is"; \ echo "needed to make the autogenerated sources there."; \ :; \ fi post_modules_depend: @if [ "x$(RUNPIKE)" != "x$(DEFAULT_RUNPIKE)" -o -x $(TMP_BUILDDIR)/pike ]; then :; \ else $(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike; fi @( cd post_modules && { \ rm -f remake; \ $(MAKE) $(MAKE_FLAGS) depend || \ { test -f remake && $(MAKE) $(MAKE_FLAGS) depend; }; \ })
933d361996-04-29Fredrik Hübinette (Hubbe)  #
06983f1996-09-22Fredrik Hübinette (Hubbe) # Pike internal targets
933d361996-04-29Fredrik Hübinette (Hubbe) #
1796d62000-08-14Martin Stjernholm 
0a34dc2001-01-23Martin Stjernholm # touch modules-stamp here to avoid doing this work again if that # target is checked later.
1f21332000-07-28Fredrik Hübinette (Hubbe) module_objects: $(MODULE_REQUIREMENTS)
b66f021998-04-13Henrik Grubbström (Grubba)  @( cd modules ; rm remake >/dev/null 2>&1 || : ; \
e09c9e1999-08-13Martin Stjernholm  $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) || \ ( test -f remake && $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) ) ) || exit $$?
0a34dc2001-01-23Martin Stjernholm  @touch modules-stamp modules-stamp: $(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-stamp modules/modlist.h: modules-stamp modules/modlist_headers.h: modules-stamp modules/linker_options: modules-stamp module.o: modules/modlist_headers.h modules/modlist.h
933d361996-04-29Fredrik Hübinette (Hubbe) 
5f84582002-03-09Martin Stjernholm module_t.o: modules/modlist_headers.h modules/modlist.h
6ded522001-07-13Henrik Grubbström (Grubba) $(SRCDIR)/interpret_protos.h_src: $(SRCDIR)/interpret_functions.h $(SRCDIR)/strip_opcodes
610d052001-07-06Henrik Grubbström (Grubba)  $(CPP) $(PREFLAGS) -DGEN_PROTOS $(SRCDIR)/interpret_functions.h | $(SRCDIR)/strip_opcodes >$(SRCDIR)/interpret_protos.h_src || { rm $(SRCDIR)/interpret_protos.h_src; exit 1; }
87c7592000-04-18Fredrik Hübinette (Hubbe) 
2ecd522001-01-12Martin Stjernholm lex.o: $(SRCDIR)/lex.c $(SRCDIR)/interpret_protos.h
6e36e52000-11-30Fredrik Hübinette (Hubbe) 
2ecd522001-01-12Martin Stjernholm interpret.o: $(SRCDIR)/lex.c $(SRCDIR)/interpret_protos.h lex_t.o: $(SRCDIR)/lex_t.c $(SRCDIR)/interpret_protos.h
ed1a002000-04-18Henrik Grubbström (Grubba) 
97c0321997-01-28Fredrik Hübinette (Hubbe) language.o: $(SRCDIR)/language.c $(SRCDIR)/object.h $(SRCDIR)/interpret.h $(SRCDIR)/program.h
933d361996-04-29Fredrik Hübinette (Hubbe) 
e94a3d2002-05-04Martin Stjernholm $(SRCDIR)/language.c $(SRCDIR)/language.h_src: $(SRCDIR)/language.yacc
933d361996-04-29Fredrik Hübinette (Hubbe)  @echo "Expect 1 shift/reduce conflict."
8a046b2000-02-22Fredrik Hübinette (Hubbe)  ( cd $(SRCDIR) &&\
5e19d62002-05-04Martin Stjernholm  $(YACC) $(YFLAGS) $(SRCDIR)/language.yacc &&\
6ded522001-07-13Henrik Grubbström (Grubba)  sed -e 's/YY_COUNT_TYPE/@YY_COUNT_TYPE@/' <y.tab.c >language.c &&\ mv y.tab.h language.h_src && rm y.tab.c)
933d361996-04-29Fredrik Hübinette (Hubbe) 
7626bf2002-04-30Martin Stjernholm $(SRCDIR)/interpret_functions_fixed.h: $(SRCDIR)/interpret_functions.h precompile.sh-stamp
c9788b2002-03-09Martin Stjernholm  ./precompile.sh --cache make_interpret_functions.pike >"$@" "$(SRCDIR)/interpret_functions.h" || { rm "$@"; exit 1; }
f822262001-07-16Fredrik Hübinette (Hubbe) 
b8a6042001-01-19Henrik Grubbström (Grubba) # UnixWare make needs help to find the source file... builtin.o: $(SRCDIR)/builtin.c
4cdb802001-02-23Fredrik Hübinette (Hubbe) iterators.o: $(SRCDIR)/iterators.c
aca4dd2001-02-23Henrik Grubbström (Grubba) 
344c292001-03-12Henrik Grubbström (Grubba) backend.o: $(SRCDIR)/backend.c
1dcea91997-04-22Fredrik Hübinette (Hubbe) # Internal testing target run_yacc: $(SRCDIR)/language.c
a1534c2002-04-11Martin Stjernholm $(SRCDIR)/configure: $(SRCDIR)/configure.in $(SRCDIR)/aclocal.m4
933d361996-04-29Fredrik Hübinette (Hubbe)  cd $(SRCDIR) && autoconf
549f8b1996-05-02Fredrik Hübinette (Hubbe) config.status: $(SRCDIR)/configure
933d361996-04-29Fredrik Hübinette (Hubbe)  ./config.status --recheck
1909941997-11-04Henrik Grubbström (Grubba) modules/static_module_makefile: $(SRCDIR)/modules/static_module_makefile.in config.status
9f755f2000-10-11Martin Stjernholm  -@(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; \
9042412000-10-17Martin Stjernholm  arb=17; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \
9f755f2000-10-11Martin Stjernholm  done;)
a843cf2000-10-10Martin Stjernholm  CONFIG_FILES=modules/static_module_makefile CONFIG_HEADERS="" ./config.status || \ (EXITCODE=$$?; rm cfl.static_module_makefile; exit $$EXITCODE) -@rm cfl.static_module_makefile
1909941997-11-04Henrik Grubbström (Grubba)  modules/dynamic_module_makefile: $(SRCDIR)/@dmmsrc@ config.status
9f755f2000-10-11Martin Stjernholm  -@(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; \
9042412000-10-17Martin Stjernholm  arb=19; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \
9f755f2000-10-11Martin Stjernholm  done;)
a843cf2000-10-10Martin Stjernholm  CONFIG_FILES=modules/dynamic_module_makefile:@dmmsrc@ CONFIG_HEADERS="" ./config.status || \ (EXITCODE=$$?; rm cfl.dynamic_module_makefile; exit $$EXITCODE) -@rm cfl.dynamic_module_makefile
1909941997-11-04Henrik Grubbström (Grubba) 
6265aa1997-01-18Fredrik Hübinette (Hubbe) Makefile: $(SRCDIR)/Makefile.in $(SRCDIR)/dependencies config.status
9f755f2000-10-11Martin Stjernholm  -@(while :; do \ echo foo > cfl.$@; test "`echo cfl.*`" = cfl.$@ && break; \ rm cfl.$@; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \
9042412000-10-17Martin Stjernholm  arb=23; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \
9f755f2000-10-11Martin Stjernholm  done;)
a843cf2000-10-10Martin Stjernholm  CONFIG_FILES=Makefile CONFIG_HEADERS="" ./config.status || \ (EXITCODE=$$?; rm cfl.$@; exit $$EXITCODE) -@rm cfl.$@
40bb511999-02-05Martin Stjernholm  touch remake
549f8b1996-05-02Fredrik Hübinette (Hubbe)  @echo "Run make again" @exit 1
933d361996-04-29Fredrik Hübinette (Hubbe) 
3a5b1d2000-05-24Fredrik Hübinette (Hubbe) precompile.sh: $(SRCDIR)/precompile.sh.in ./config.status
9f755f2000-10-11Martin Stjernholm  -@(while :; do \ echo foo > cfl.$@; test "`echo cfl.*`" = cfl.$@ && break; \ rm cfl.$@; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \
9042412000-10-17Martin Stjernholm  arb=29; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \
9f755f2000-10-11Martin Stjernholm  done;)
a843cf2000-10-10Martin Stjernholm  CONFIG_FILES=precompile.sh CONFIG_HEADERS="" ./config.status || \ (EXITCODE=$$?; rm cfl.$@; exit $$EXITCODE) -@rm cfl.$@
3a5b1d2000-05-24Fredrik Hübinette (Hubbe) 
690de62001-01-23Martin Stjernholm # A dependency on precompile.sh-stamp only ensures that precompile.sh # exists, not that it's older than the target. In source dists, # precompile.sh is almost always newer than the targets that depend on # it, e.g. builtin.c that comes with the dist. precompile.sh-stamp: precompile.sh
3887ab2001-01-23Martin Stjernholm  @touch 0103000070 precompile.sh-stamp
690de62001-01-23Martin Stjernholm 
97c0321997-01-28Fredrik Hübinette (Hubbe) $(SRCDIR)/machine.h.in: $(SRCDIR)/stamp-h.in
fc085b1998-05-29Henrik Grubbström (Grubba)  @if test -f $(SRCDIR)/machine.h.in; then :; else \
85222d1998-05-29Henrik Grubbström (Grubba)  rm $(SRCDIR)/stamp-h.in; $(MAKE) $(SRCDIR)/stamp-h.in; \
fc085b1998-05-29Henrik Grubbström (Grubba)  fi
5634851999-12-31Fredrik Hübinette (Hubbe) 
97c0321997-01-28Fredrik Hübinette (Hubbe) $(SRCDIR)/stamp-h.in: $(SRCDIR)/configure.in $(SRCDIR)/acconfig.h
0d36f01997-01-28Fredrik Hübinette (Hubbe)  cd $(SRCDIR) && autoheader echo foo > $(SRCDIR)/stamp-h.in
933d361996-04-29Fredrik Hübinette (Hubbe) machine.h: stamp-h
aa411b1998-05-22Henrik Grubbström (Grubba)  @if test -f machine.h; then :; else \
adbb821998-05-22Henrik Grubbström (Grubba)  rm stamp-h; $(MAKE) stamp-h; \
aa411b1998-05-22Henrik Grubbström (Grubba)  fi
5634851999-12-31Fredrik Hübinette (Hubbe) 
fc085b1998-05-29Henrik Grubbström (Grubba) stamp-h: $(SRCDIR)/stamp-h.in $(SRCDIR)/machine.h.in config.status
9f755f2000-10-11Martin Stjernholm  -@(while :; do \ echo foo > cfl.$@; test "`echo cfl.*`" = cfl.$@ && break; \ rm cfl.$@; echo "Waiting to run config.status serially:" cfl.*; sleep 1; \
9042412000-10-17Martin Stjernholm  arb=31; while test $$arb != 0; do arb=`expr $$arb - 1`; done; \
9f755f2000-10-11Martin Stjernholm  done;)
a843cf2000-10-10Martin Stjernholm  CONFIG_FILES="" CONFIG_HEADERS=machine.h ./config.status || \ (EXITCODE=$$?; rm cfl.$@; exit $$EXITCODE)
6220b62001-01-22Martin Stjernholm  touch stamp-h
a843cf2000-10-10Martin Stjernholm  -@rm cfl.$@
933d361996-04-29Fredrik Hübinette (Hubbe) 
0b3c702002-05-04Martin Stjernholm testsuite: $(SRCDIR)/testsuite.in $(TMP_BINDIR)/mktestsuite
d4c7ae2001-06-11Henrik Grubbström (Grubba)  if test "$$PIKE_PATH_TRANSLATE" = ""; then \
5e238c2001-06-10Henrik Grubbström (Grubba)  $(TMP_BINDIR)/mktestsuite $(SRCDIR)/testsuite.in >testsuite \ -DSRCDIR="$(SRCDIR)"; \ else \ $(TMP_BINDIR)/mktestsuite $(SRCDIR)/testsuite.in >testsuite \ -DSRCDIR="`echo $(SRCDIR)|sed -e $$PIKE_PATH_TRANSLATE`"; \ fi
933d361996-04-29Fredrik Hübinette (Hubbe) 
9f7b7e2000-01-09Fredrik Hübinette (Hubbe) 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'`"
91006b2000-03-21Fredrik Hübinette (Hubbe) HFILES= \
1f21332000-07-28Fredrik Hübinette (Hubbe)  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 \
6895292000-11-29Fredrik Hübinette (Hubbe)  pike_search.protos \
1f21332000-07-28Fredrik Hübinette (Hubbe)  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 \
ab56702001-04-30Martin Stjernholm  builtin.protos \
c8f03a2002-04-12Henrik Grubbström (Grubba)  iterators.protos \
ab56702001-04-30Martin Stjernholm  rbtree.protos
1f21332000-07-28Fredrik Hübinette (Hubbe) 
690de62001-01-23Martin Stjernholm $(HFILES): precompile.sh-stamp
9eb0082000-08-02Henrik Grubbström (Grubba) 
690de62001-01-23Martin Stjernholm import-stamp: $(HFILES) precompile.sh-stamp
d0f91a2001-01-26Martin Stjernholm  @./precompile.sh fake_dynamic_load.pike >import_functions.tmp $(HFILES)
1f21332000-07-28Fredrik Hübinette (Hubbe)  @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
9f7b7e2000-01-09Fredrik Hübinette (Hubbe) 
19cacd2001-02-01Henrik Grubbström (Grubba) module.o: post_modules/modlist.h post_modules/modlist_headers.h
e3436f2002-04-11Martin Stjernholm # Must have manual depends on all the bytecode methods in the code # dir, since make depend will only include the one that was chosen, # and that doesn't suffice in source dists.
737bde2002-04-28Martin Stjernholm $(SRCDIR)/pikecode.h: \ $(SRCDIR)/code/ia32.h \ $(SRCDIR)/code/sparc.h \ $(SRCDIR)/code/ppc32.h \ $(SRCDIR)/code/computedgoto.h \ $(SRCDIR)/code/bytecode.h touch $(SRCDIR)/pikecode.h $(SRCDIR)/pikecode.c: \ $(SRCDIR)/code/ia32.c \ $(SRCDIR)/code/sparc.c \ $(SRCDIR)/code/ppc32.c \ $(SRCDIR)/code/computedgoto.c \ $(SRCDIR)/code/bytecode.c touch $(SRCDIR)/pikecode.c
e3436f2002-04-11Martin Stjernholm 
6265aa1997-01-18Fredrik Hübinette (Hubbe) @dependencies@
15c3001999-12-29Henrik Grubbström (Grubba)