# 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) |
|
# not used yet |
INSTALL=@INSTALL@ |
|
SRCDIR=@srcdir@ |
VPATH=@srcdir@ |
|
# These are used while compiling |
TMP_LIBDIR = @LIBDIR@ |
TMP_BINDIR = @BINDIR@ |
TMP_BUILDDIR = @BUILDDIR@ |
TMP_DOCDIR = @DOCDIR@ |
|
prefix = @prefix@ |
exec_prefix = $(prefix)/bin |
lib_prefix = $(prefix)/lib/pike |
|
# |
# use bison please, yacc doesn't always work good enough. |
# |
YACC=@YACC@ |
YFLAGS=-d -v |
|
# If you don't have 'strchr', then add next flag to CFLAGS. |
# -Dstrchr=index -Dstrrchr=rindex |
# |
PROFIL= |
#PROFIL=-pg |
|
# |
#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@ |
|
# Preprocessor flags. |
PREFLAGS=-I. -I$(SRCDIR) $(DEFINES) |
OTHERFLAGS=@CFLAGS@ $(OSFLAGS) $(OPTIMIZE) $(WARN) $(PROFIL) |
CFLAGS=$(PREFLAGS) $(OTHERFLAGS) |
|
CC=@CC@ |
CPP=@CPP@ |
|
LD=$(CC) |
LDFLAGS=$(CFLAGS) @LDFLAGS@ |
|
RUNPIKE=$(TMP_BUILDDIR)/pike -m $(TMP_LIBDIR)/master.pike $(PIKEOPTS) |
|
MAKE_FLAGS = "prefix=$(prefix)" "exec_prefix=$(exec_prefix)" "CC=$(CC)" "OTHERFLAGS=$(OTHERFLAGS)" "TMP_BINDIR=$(TMP_BINDIR)" "DEFINES=$(DEFINES)" "TMP_LIBDIR=$(TMP_LIBDIR)" "RUNPIKE=$(RUNPIKE)" |
|
# Add alloca.o if you don't have alloca() on your machine. |
# Add ualarm.o if you don't have ualarm() on your machine. |
# |
OBJ= \ |
constants.o \ |
array.o \ |
backend.o \ |
builtin_functions.o \ |
callback.o \ |
docode.o \ |
dynamic_buffer.o \ |
dynamic_load.o \ |
error.o \ |
fd_control.o \ |
fsort.o \ |
gc.o \ |
hashtable.o \ |
interpret.o \ |
language.o \ |
las.o \ |
lex.o \ |
multiset.o \ |
signal_handler.o \ |
pike_types.o \ |
main.o \ |
mapping.o \ |
memory.o \ |
module.o \ |
object.o \ |
opcodes.o \ |
operators.o \ |
peep.o \ |
port.o \ |
program.o \ |
rusage.o \ |
stralloc.o \ |
stuff.o \ |
threads.o \ |
version.o \ |
svalue.o @EXTRA_OBJS@ |
|
# |
# User callable targets |
# |
|
all: $(OBJ) module_objects |
$(MAKE) $(MAKE_FLAGS) pike |
|
pike: $(OBJ) modules/linker_options modules/lib_dirs |
-mv pike pike.old |
$(LD) $(LDFLAGS) $(OBJ) `cat modules/linker_options` @SET_RUN_PATH@ $(LIBS) -o pike |
|
# purify |
pure: $(OBJ) module_objects |
-mv pike pike.old |
purify -free-queue-length=500 -inuse-at-exit=yes -chain-length=12 $(LD) $(LDFLAGS) $(OBJ) `cat modules/linker_options` @SET_RUN_PATH@ $(LIBS) -o pike |
|
# purecov |
cover: $(OBJ) module_objects |
-mv pike pike.old |
purecov purify -free-queue-length=500 -inuse-at-exit=yes -chain-length=12 $(LD) $(LDFLAGS) $(OBJ) `cat modules/linker_options` @SET_RUN_PATH@ $(LIBS) -o pike |
|
# quantify |
quant: $(OBJ) module_objects |
-mv pike pike.old |
quantify $(LD) $(LDFLAGS) $(OBJ) `cat modules/linker_options` @SET_RUN_PATH@ $(LIBS) -o pike |
|
# install |
install: |
if [ ! -d "$(prefix)" ]; then mkdir "$(prefix)" ; chmod 755 "$(prefix)" ; else : ; fi |
if [ ! -d "$(exec_prefix)" ]; then mkdir "$(exec_prefix)" ; chmod 755 "$(exec_prefix)" ; else : ; fi |
$(INSTALL) ./pike $(exec_prefix) |
if [ ! -d "$(prefix)/lib" ]; then mkdir "$(prefix)/lib" ; chmod 755 "$(prefix)/lib" ; else : ; fi |
if [ ! -d "$(lib_prefix)" ]; then mkdir "$(lib_prefix)" ; chmod 755 "$(lib_prefix)" ; else : ; fi |
if [ ! -d "$(prefix)/include" ]; then mkdir "$(prefix)/include"; chmod 755 "$(prefix)/include"; fi |
if [ ! -d "$(prefix)/include/pike" ]; then mkdir "$(prefix)/include/pike"; chmod 755 "$(prefix)/include/pike"; fi |
$(INSTALL) $(SRCDIR)/*.h *.h $(prefix)/include/pike |
$(INSTALL) $(TMP_LIBDIR)/master.pike $(lib_prefix) |
cp -r $(TMP_LIBDIR)/include $(lib_prefix) |
|
# tidy up a bit |
tidy: |
-rm -f *.o 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 ) |
-rm -f TAGS tags |
-rm -f yacc.acts yacc.debug yacc.tmp *.debug.log a.out |
|
# make _really_ clean |
spotless: clean |
rm -f Makefile machine.h |
find . -type f '(' -name '*~' -o -name '.*~' -o -name core -o -name '.nfs*' -name '#*#' ')' -print | xargs rm -f |
-rm -f lexical.c mon.out *.ln config.status |
-rm -f $(TMP_BINDIR)/driver $(TMP_BINDIR)/*~ $(TMP_BINDIR)/#*# |
-rm -f .pure driver* l.outa* |
-rm -f modules/*/testsuite |
|
# create tags |
tags: |
ctags *.c |
|
TAGS: |
etags -t *.h *.c |
|
# verify / debug |
verify_modules: |
( cd modules ; $(MAKE) $(MAKE_FLAGS) verify ) |
|
verbose_verify_modules: |
( cd modules ; $(MAKE) $(MAKE_FLAGS) verbose_verify ) |
|
verify: testsuite verify_modules |
$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike testsuite |
|
check: verify |
|
# verify / debug verbose |
verbose_verify: testsuite verbose_verify_modules |
$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike testsuite --verbose |
|
# verify & debug VERBOSE |
gdb_verify: testsuite |
@echo >.gdbinit handle SIGUSR1 nostop noprint pass |
@echo >>.gdbinit run -m $(TMP_LIBDIR)/master.pike $(PIKEOPTS) $(TMP_BINDIR)/test_pike.pike testsuite -v -v -f |
gdb ./pike |
@rm .gdbinit |
|
# run hilfe, for interactive testing |
run_hilfe: |
$(RUNPIKE) $(TMP_BINDIR)/hilfe |
|
# 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. |
export: new_peep_engine $(SRCDIR)/language.c $(SRCDIR)/language.h depend |
chmod +x $(SRCDIR)/install-sh |
$(RUNPIKE) $(TMP_BINDIR)/export.pike image pipe spider ssleay |
|
full_export: new_peep_engine $(SRCDIR)/language.c $(SRCDIR)/language.h depend |
chmod +x $(SRCDIR)/install-sh |
$(RUNPIKE) $(TMP_BINDIR)/export.pike |
|
new_peep_engine: |
$(RUNPIKE) $(TMP_BINDIR)/mkpeep.pike $(SRCDIR)/peep.in >$(SRCDIR)/peep_engine.c |
|
$(SRCDIR)/peep_engine.c: peep.in |
echo "" >$(SRCDIR)/peep_engine.c |
-$(RUNPIKE) $(TMP_BINDIR)/mkpeep.pike $(SRCDIR)/peep.in >$(SRCDIR)/peep_engine.c |
|
peep.o: $(SRCDIR)/peep_engine.c |
|
# make dependencies (requires compiled Pike) |
depend: language.c |
gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(TMP_BINDIR)/fixdepends.sh $(SRCDIR) |
( cd modules ; $(MAKE) $(MAKE_FLAGS) depend ) |
|
docs: |
mkdir docs |
|
html_docs: docs |
$(RUNPIKE) $(TMP_BINDIR)/htmlify_docs docs $(TMP_DOCDIR) `echo $(SRCDIR)/modules/*/doc` |
# |
# Pike internal targets |
# |
module_objects: |
( cd modules ; ${MAKE} $(MAKE_FLAGS) ) |
|
language.o: $(SRCDIR)/language.c config.h object.h interpret.h program.h |
|
$(SRCDIR)/language.h: language.yacc |
@echo "Expect 1 shift/reduce conflict." |
$(YACC) $(YFLAGS) $(SRCDIR)/language.yacc |
mv y.tab.c $(SRCDIR)/language.c |
mv y.tab.h $(SRCDIR)/language.h |
|
$(SRCDIR)/language.c: language.h |
touch $(SRCDIR)/language.c |
|
module.c: modlist.h |
|
$(SRCDIR)/configure: configure.in |
cd $(SRCDIR) && autoconf |
|
config.status: $(SRCDIR)/configure |
./config.status --recheck |
|
Makefile: $(SRCDIR)/Makefile.in $(SRCDIR)/dependencies config.status |
CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status |
@echo "Run make again" |
@exit 1 |
|
machine.h: stamp-h |
stamp-h: machine.h.in config.status |
CONFIG_FILES= CONFIG_HEADERS=machine.h ./config.status |
|
testsuite: $(SRCDIR)/testsuite.in |
$(TMP_BINDIR)/mktestsuite $(SRCDIR)/testsuite.in >testsuite |
|
@dependencies@ |
|