diff --git a/src/Makefile.src b/src/Makefile.src new file mode 100644 index 0000000000000000000000000000000000000000..d5cf8c8acef395b90f02c652922437ac3df8d262 --- /dev/null +++ b/src/Makefile.src @@ -0,0 +1,230 @@ +# 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/ulpc + +# +# 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@ +#WARN=-W -Wunused -Wformat +#WARN -Wunused -Wformat -Wuninitialized +#WARN= -Wall -Wshadow -Dlint + +#add extra defines here +# Be sure to use -g and -DDEBUG when looking for bugs +DEFINES=-DDEBUG -DDEFAULT_MASTER=\"$(lib_prefix)/master.lpc\" + +# -O should work with all compilers +OPTIMIZE=@OPTIMIZE@ + +# Preprocessor flags. +PREFLAGS=-I. -I$(SRCDIR) $(DEFINES) +OTHERFLAGS=$(OSFLAGS) $(OPTIMIZE) $(WARN) $(PROFIL) +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +CC=@CC@ +CPP=@CPP@ + +LD=$(CC) +LDFLAGS=$(CFLAGS) + +RUNULPC=$(TMP_BUILDDIR)/ulpc -m $(TMP_LIBDIR)/master.lpc +FIXDEP=$(TMP_BINDIR)/fixdepends.sh + +MAKE_FLAGS = "prefix=$(prefix)" "exex_prefix=$(exex_prefix)" "CC=$(CC)" "OTHERFLAGS=$(OTHERFLAGS)" "FIXDEP=$(FIXDEP)" + +# 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=language.o peep.o add_efun.o array.o builtin_efuns.o backend.o \ + call_out.o docode.o dynamic_buffer.o error.o fd_control.o \ + fsort.o hashtable.o interpret.o lex.o las.o list.o \ + lpc_types.o main.o mapping.o memory.o module.o object.o \ + opcodes.o operators.o port.o program.o rusage.o stralloc.o \ + stuff.o svalue.o gc.o callback.o lpc_signal.o @EXTRA_OBJS@ + +# +MODULES=@subdirs@ +MODULE_OBJS=@MODULE_OBJS@ + +# +# User callable targets +# + +all: ulpc + +ulpc: $(OBJ) module_objects + -mv ulpc ulpc.old + $(LD) $(LDFLAGS) $(OBJ) $(MODULE_OBJS) -o ulpc $(LIBS) + + +# purify +pure: $(OBJ) module_objects + -mv ulpc ulpc.old + purify -free-queue-length=500 -inuse-at-exit=yes -chain-length=12 $(LD) $(LDFLAGS) $(OBJ) $(MODULE_OBJS) -o ulpc $(LIBS) + +# purecov +cover: $(OBJ) module_objects + -mv ulpc ulpc.old + purecov purify -free-queue-length=500 -inuse-at-exit=yes -chain-length=12 $(LD) $(LDFLAGS) $(OBJ) $(MODULE_OBJS) -o ulpc $(LIBS) + +# quantify +quant: $(OBJ) module_objects + -mv ulpc ulpc.old + quantify $(LD) $(LDFLAGS) $(OBJ) $(MODULE_OBJS) -o ulpc $(LIBS) + +# install +install: + if [ ! -d "$(prefix)" ]; then mkdir "$(prefix)" ; chmod 755 "$(prefix)" ; fi + if [ ! -d "$(exec_prefix)" ]; then mkdir "$(exec_prefix)" ; chmod 755 "$(exec_prefix)" ; fi + $(INSTALL) ./ulpc $(exec_prefix) + if [ ! -d "$(prefix)/lib" ]; then mkdir "$(prefix)/lib" ; chmod 755 "$(prefix)/lib" ; fi + if [ ! -d "$(lib_prefix)" ]; then mkdir "$(lib_prefix)" ; chmod 755 "$(lib_prefix)" ; fi + $(INSTALL) $(TMP_LIBDIR)/master.lpc $(lib_prefix) + $(INSTALL) $(TMP_LIBDIR)/simulate.lpc $(lib_prefix) + +# tidy up a bit +tidy: + -rm -f *.o core $(MUD_LIB)/core y.output y.tab.c y.tab.h + -rm -f $(TMP_BINDIR)/core *.o *.i *.i~ + +# make clean +clean: tidy + -for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) clean ) ; done + -for a in $(MODULES) ; do rm -f $$a/*.o ; done + -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* + +# create tags +tags: + ctags *.c + +TAGS: + etags -t *.h *.c + +# verify / debug +verify_manual: + $(RUNULPC) $(SRCDIR)/test/verifymanual.lpc $(TMP_DOCDIR) + +verify: $(SRCDIR)/test/testsuite + $(RUNULPC) $(SRCDIR)/test/test_lpc.lpc $(SRCDIR)/test/testsuite + +# verify / debug verbose +verbose_verify: $(SRCDIR)/test/testsuite + $(RUNULPC) $(SRCDIR)/test/test_lpc.lpc $(SRCDIR)/test/testsuite --verbose + +# verify & debug VERBOSE +gdb_verify: $(SRCDIR)/test/testsuite + echo >.gdbinit handle SIGUSR1 nostop noprint pass + echo >>.gdbinit run -m $(TMP_LIBDIR)/master.lpc $(SRCDIR)/test/test_lpc.lpc $(SRCDIR)/test/testsuite -v -v -f + gdb ./ulpc + +# run hilfe, for interactive testing +run_hilfe: + $(RUNULPC) $(TMP_BINDIR)/hilfe + +# make export archive (requires compiled uLPC) +# 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: $(SRCDIR)/test/testsuite new_peep_engine $(SRCDIR)/language.c $(SRCDIR)/language.h depend + chmod +x $(SRCDIR)/install-sh + $(RUNULPC) $(TMP_BINDIR)/export.lpc + +new_peep_engine: + $(RUNULPC) $(TMP_BINDIR)/mkpeep.lpc $(SRCDIR)/peep.in >$(SRCDIR)/peep_engine.c + +peep_engine.c: peep.in + echo "" >$(SRCDIR)/peep_engine.c + -$(RUNULPC) $(TMP_BINDIR)/mkpeep.lpc $(SRCDIR)/peep.in >$(SRCDIR)/peep_engine.c + +# make dependencies (requires compiled uLPC) +depend: language.c + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(FIXDEP) $(SRCDIR) + for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) depend ) ; done + +docs: + mkdir docs + +html_docs: docs + $(RUNULPC) $(TMP_BINDIR)/htmlify_docs $(TMP_DOCDIR) docs + +# +# uLPC internal targets +# +module_objects: + for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) ) ; done + +lang.o: lang.c config.h object.h interpret.h program.h + +$(SRCDIR)/language.h: language.y + @echo "Expect 1 shift/reduce conflict." + $(YACC) $(YFLAGS) $(SRCDIR)/language.y + 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 + +configure: configure.in + cd $(SRCDIR) && autoconf + +config.status: configure + ./config.status --recheck + +Makefile: Makefile.in config.status + ./config.status + +machine.h: stamp-h + +stamp-h: machine.h.in config.status + ./config.status + +modlist.h: + ./config.status + +$(SRCDIR)/test/testsuite: $(SRCDIR)/test/create_testsuite + m4 <$(SRCDIR)/test/create_testsuite >$(SRCDIR)/test/testsuite + + diff --git a/src/modules/files/Makefile.src b/src/modules/files/Makefile.src new file mode 100644 index 0000000000000000000000000000000000000000..2366499c367626bf586c76bed68d6055e2259302 --- /dev/null +++ b/src/modules/files/Makefile.src @@ -0,0 +1,18 @@ +SRCDIR=@srcdir@ +VPATH=@srcdir@:@srcdir@/../..:../.. +PREFLAGS=-I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=file.o efuns.o socket.o + +files.a: $(FILES) + -rm -f files.a + ar cq files.a $(FILES) + -@RANLIB@ files.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(FIXDEP) $(SRCDIR) + diff --git a/src/modules/math/Makefile.src b/src/modules/math/Makefile.src new file mode 100644 index 0000000000000000000000000000000000000000..919399491d100e05c2e6651a7516d333a8336417 --- /dev/null +++ b/src/modules/math/Makefile.src @@ -0,0 +1,17 @@ +SRCDIR=@srcdir@ +VPATH=@srcdir@:@srcdir@/../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=math.o + +math.a: $(FILES) + -rm -f math.a + ar cq math.a $(FILES) + -@RANLIB@ math.a + +clean: + -rm -f *.o + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(FIXDEP) $(SRCDIR) diff --git a/src/modules/regexp/Makefile.src b/src/modules/regexp/Makefile.src new file mode 100644 index 0000000000000000000000000000000000000000..0ca33fdcc447e431db40c7e52e44cd1eaabbe542 --- /dev/null +++ b/src/modules/regexp/Makefile.src @@ -0,0 +1,17 @@ +SRCDIR=@srcdir@ +VPATH=@srcdir@:@srcdir@/../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=regexp.o glue.o + +regexp.a: $(FILES) + -rm -f regexp.a + ar cq regexp.a $(FILES) + -@RANLIB@ regexp.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(FIXDEP) $(SRCDIR) diff --git a/src/modules/sprintf/Makefile.src b/src/modules/sprintf/Makefile.src new file mode 100644 index 0000000000000000000000000000000000000000..a6a33e732228bf75a025a436b544148ff1480acf --- /dev/null +++ b/src/modules/sprintf/Makefile.src @@ -0,0 +1,17 @@ +SRCDIR=@srcdir@ +VPATH=@srcdir@:@srcdir@/../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=sprintf.o + +sprintf.a: $(FILES) + -rm -f sprintf.a + ar cq sprintf.a $(FILES) + -@RANLIB@ sprintf.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(FIXDEP) $(SRCDIR)