5267b71995-08-09Fredrik 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. LIBS=@LIBS@ $(EXTRALIBS) # not used yet INSTALL=@INSTALL@ SRCDIR=@srcdir@ VPATH=@srcdir@ # These are used while compiling
5c8e891995-10-29Fredrik Hübinette (Hubbe) TMP_LIBDIR = @LIBDIR@ TMP_BINDIR = @BINDIR@ TMP_BUILDDIR = @BUILDDIR@
5683de1995-11-06Fredrik Hübinette (Hubbe) TMP_DOCDIR = @DOCDIR@
5267b71995-08-09Fredrik Hübinette (Hubbe)  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
dd66d41995-10-31Fredrik Hübinette (Hubbe) # Be sure to use -g and -DDEBUG when looking for bugs DEFINES=-DDEBUG -DDEFAULT_MASTER=\"$(lib_prefix)/master.lpc\"
5267b71995-08-09Fredrik Hübinette (Hubbe)  # -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)
5c8e891995-10-29Fredrik Hübinette (Hubbe) RUNULPC=$(TMP_BUILDDIR)/ulpc -m $(TMP_LIBDIR)/master.lpc FIXDEP=$(RUNULPC) $(TMP_BINDIR)/fixdepends.lpc MAKE_FLAGS = "prefix=$(prefix)" "exex_prefix=$(exex_prefix)" "CC=$(CC)" "OTHERFLAGS=$(OTHERFLAGS)" "FIXDEP=$(FIXDEP)"
5267b71995-08-09Fredrik Hübinette (Hubbe)  # 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 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 \
5c8e891995-10-29Fredrik Hübinette (Hubbe)  stuff.o svalue.o debug.o callback.o lpc_signal.o @EXTRA_OBJS@
5267b71995-08-09Fredrik Hübinette (Hubbe)  # MODULES=@subdirs@ MODULE_OBJS=@MODULE_OBJS@
5c8e891995-10-29Fredrik Hübinette (Hubbe) # # User callable targets #
5267b71995-08-09Fredrik Hübinette (Hubbe) 
5c8e891995-10-29Fredrik Hübinette (Hubbe) all: ulpc
5267b71995-08-09Fredrik Hübinette (Hubbe)  ulpc: $(OBJ) module_objects -mv ulpc ulpc.old $(LD) $(LDFLAGS) $(OBJ) $(MODULE_OBJS) -o ulpc $(LIBS)
5c8e891995-10-29Fredrik Hübinette (Hubbe)  # purify
5267b71995-08-09Fredrik Hübinette (Hubbe) 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)
5c8e891995-10-29Fredrik Hübinette (Hubbe) # purecov
5267b71995-08-09Fredrik Hübinette (Hubbe) 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)
5c8e891995-10-29Fredrik Hübinette (Hubbe) # quantify
5267b71995-08-09Fredrik Hübinette (Hubbe) quant: $(OBJ) module_objects -mv ulpc ulpc.old quantify $(LD) $(LDFLAGS) $(OBJ) $(MODULE_OBJS) -o ulpc $(LIBS)
5c8e891995-10-29Fredrik Hübinette (Hubbe) # install
5267b71995-08-09Fredrik Hübinette (Hubbe) 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)
5c8e891995-10-29Fredrik Hübinette (Hubbe) # tidy up a bit
5267b71995-08-09Fredrik Hübinette (Hubbe) tidy: -rm -f *.o core $(MUD_LIB)/core y.output y.tab.c y.tab.h -rm -f $(TMP_BINDIR)/core *.o *.i *.i~
5c8e891995-10-29Fredrik Hübinette (Hubbe) # make clean
5267b71995-08-09Fredrik Hübinette (Hubbe) clean: tidy
f90e541995-08-17Fredrik Hübinette (Hubbe)  -for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) clean ) ; done
5267b71995-08-09Fredrik Hübinette (Hubbe)  -for a in $(MODULES) ; do rm -f $$a/*.o ; done
cb22561995-10-11Fredrik Hübinette (Hubbe)  -rm -f language.h language.c TAGS tags
5267b71995-08-09Fredrik Hübinette (Hubbe)  -rm -f yacc.acts yacc.debug yacc.tmp *.debug.log a.out
5c8e891995-10-29Fredrik Hübinette (Hubbe) # make _really_ clean
5267b71995-08-09Fredrik Hübinette (Hubbe) 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*
5c8e891995-10-29Fredrik Hübinette (Hubbe) # create tags
5267b71995-08-09Fredrik Hübinette (Hubbe) tags: ctags *.c TAGS: etags -t *.h *.c
5c8e891995-10-29Fredrik Hübinette (Hubbe) # verify / debug
5683de1995-11-06Fredrik Hübinette (Hubbe) verify: $(SRCDIR)/test/testsuite $(RUNULPC) $(SRCDIR)/test/test_lpc.lpc $(SRCDIR)/test/testsuite $(RUNULPC) $(SRCDIR)/test/verifymanual.lpc $(TMP_DOCDIR)
5267b71995-08-09Fredrik Hübinette (Hubbe) 
5c8e891995-10-29Fredrik Hübinette (Hubbe) # verify / debug verbose
5683de1995-11-06Fredrik Hübinette (Hubbe) verbose_verify: $(SRCDIR)/test/testsuite $(RUNULPC) $(SRCDIR)/test/test_lpc.lpc $(SRCDIR)/test/testsuite --verbose $(RUNULPC) $(SRCDIR)/test/verifymanual.lpc $(TMP_DOCDIR)
5267b71995-08-09Fredrik Hübinette (Hubbe) 
5c8e891995-10-29Fredrik Hübinette (Hubbe) # verify & debug VERBOSE
5683de1995-11-06Fredrik Hübinette (Hubbe) gdb_verify: $(SRCDIR)/test/testsuite
cb22561995-10-11Fredrik Hübinette (Hubbe)  echo >.gdbinit handle SIGUSR1 nostop noprint pass
5683de1995-11-06Fredrik Hübinette (Hubbe)  echo >>.gdbinit run -m $(TMP_LIBDIR)/master.lpc $(SRCDIR)/test/test_lpc.lpc $(SRCDIR)/test/testsuite -v -v -f
cb22561995-10-11Fredrik Hübinette (Hubbe)  gdb ./ulpc
5c8e891995-10-29Fredrik Hübinette (Hubbe)  # run hilfe, for interactive testing
cb22561995-10-11Fredrik Hübinette (Hubbe) run_hilfe:
5c8e891995-10-29Fredrik Hübinette (Hubbe)  $(RUNULPC) $(TMP_BINDIR)/hilfe
cb22561995-10-11Fredrik Hübinette (Hubbe) 
5c8e891995-10-29Fredrik Hübinette (Hubbe) # make export archive (requires compiled uLPC) # Do not compile in source tree if you want to use this!
5683de1995-11-06Fredrik Hübinette (Hubbe) export: $(SRCDIR)/test/testsuite configure
5c8e891995-10-29Fredrik Hübinette (Hubbe)  $(RUNULPC) $(TMP_BINDIR)/export.lpc # make dependencies (requires compiled uLPC)
5267b71995-08-09Fredrik Hübinette (Hubbe) depend: language.c
5c8e891995-10-29Fredrik Hübinette (Hubbe)  gcc -MM $(PREFLAGS) *.c $(SRCDIR)/*.c | $(FIXDEP) $(SRCDIR)/Makefile.in
f90e541995-08-17Fredrik Hübinette (Hubbe)  for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) depend ) ; done
5267b71995-08-09Fredrik Hübinette (Hubbe) 
5c8e891995-10-29Fredrik Hübinette (Hubbe) # # 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 language.h: language.y @echo "Expect 1 shift/reduce conflict." $(YACC) $(YFLAGS) $(SRCDIR)/language.y mv y.tab.c language.c mv y.tab.h language.h language.c: language.h touch language.c module.c: modlist.h machine.h: stamp-h stamp-h: machine.h.in config.status ./config.status modlist.h: ./config.status
5683de1995-11-06Fredrik Hübinette (Hubbe) $(SRCDIR)/test/testsuite: $(SRCDIR)/test/create_testsuite m4 <$(SRCDIR)/test/create_testsuite >$(SRCDIR)/test/testsuite
5c8e891995-10-29Fredrik Hübinette (Hubbe)  #Dependencies begin here, DO NOT REMOVE THIS LINE!!!! language.o: language.c global.h machine.h \ config.h debug.h \ port.h interpret.h \ program.h array.h \ las.h svalue.h \ dynamic_buffer.h object.h \ stralloc.h lex.h \ lpc_types.h add_efun.h \ hashtable.h macros.h \ error.h docode.h add_efun.o: add_efun.c add_efun.h \ svalue.h types.h machine.h \ hashtable.h las.h \ config.h dynamic_buffer.h \ program.h macros.h \ memory.h lpc_types.h \ stralloc.h interpret.h
c335351995-10-11David Hedbor alloca.o: alloca.c
5c8e891995-10-29Fredrik Hübinette (Hubbe) array.o: array.c global.h \ machine.h config.h debug.h \ port.h svalue.h \ array.h las.h \ dynamic_buffer.h program.h \ object.h stralloc.h \ interpret.h language.h error.h \ lpc_types.h fsort.h \ builtin_efuns.h backend.o: backend.c global.h \ machine.h config.h debug.h \ port.h interpret.h \ program.h object.h \ svalue.h error.h \ call_out.h backend.h \ fd_control.h main.h \ callback.h array.h \ las.h dynamic_buffer.h builtin_efuns.o: builtin_efuns.c \ global.h machine.h config.h \ debug.h port.h \ interpret.h program.h \ svalue.h macros.h \ object.h array.h \ las.h dynamic_buffer.h \ error.h add_efun.h \ hashtable.h mapping.h \ stralloc.h lex.h \ list.h lpc_types.h \ rusage.h operators.h \ fsort.h call_out.h \ callback.h call_out.o: call_out.c global.h \ machine.h config.h debug.h \ port.h array.h \ las.h svalue.h \ dynamic_buffer.h program.h \ call_out.h object.h \ interpret.h error.h \ builtin_efuns.h main.h callback.o: callback.c macros.h \ memory.h types.h machine.h \ callback.h array.h \ las.h config.h \ svalue.h dynamic_buffer.h \ program.h debug.o: debug.c global.h \ machine.h config.h debug.h \ port.h docode.o: docode.c global.h \ machine.h config.h debug.h \ port.h las.h \ svalue.h dynamic_buffer.h \ program.h language.h \ lpc_types.h stralloc.h \ interpret.h add_efun.h \ hashtable.h array.h \ macros.h error.h \ main.h lex.h \ builtin_efuns.h dynamic_buffer.o: dynamic_buffer.c \ global.h machine.h config.h \ debug.h port.h \ dynamic_buffer.h stralloc.h \ error.h svalue.h error.o: error.c global.h \ machine.h config.h debug.h \ port.h macros.h \ error.h svalue.h \ interpret.h program.h \ stralloc.h builtin_efuns.h \ array.h las.h \ dynamic_buffer.h object.h fd_control.o: fd_control.c \ fd_control.h global.h \ machine.h config.h debug.h \ port.h fsort.o: fsort.c global.h \ machine.h config.h debug.h \ port.h fsort.h hashtable.o: hashtable.c global.h \ machine.h config.h debug.h \ port.h hashtable.h \ stralloc.h stuff.h \ error.h svalue.h interpret.o: interpret.c global.h \ machine.h config.h debug.h \ port.h interpret.h \ program.h object.h \ svalue.h array.h \ las.h dynamic_buffer.h \ mapping.h error.h language.h \ stralloc.h add_efun.h \ hashtable.h macros.h \ list.h backend.h \ operators.h opcodes.h \ main.h lex.h \ builtin_efuns.h lpc_signal.h las.o: las.c global.h machine.h \ config.h debug.h \ port.h language.h interpret.h \ program.h las.h \ svalue.h dynamic_buffer.h \ array.h object.h \ stralloc.h lex.h \ lpc_types.h add_efun.h \ hashtable.h mapping.h \ list.h error.h \ docode.h main.h lex.o: lex.c global.h machine.h \ config.h debug.h \ port.h language.h array.h \ las.h svalue.h \ dynamic_buffer.h program.h \ lex.h stralloc.h \ add_efun.h hashtable.h \ stuff.h interpret.h \ error.h object.h \ operators.h opcodes.h \ builtin_efuns.h macros.h list.o: list.c global.h \ machine.h config.h debug.h \ port.h array.h \ las.h svalue.h \ dynamic_buffer.h program.h \ list.h macros.h \ error.h interpret.h \ builtin_efuns.h lpc_signal.o: lpc_signal.c \ global.h machine.h config.h \ debug.h port.h \ svalue.h interpret.h \ program.h stralloc.h \ add_efun.h hashtable.h \ las.h dynamic_buffer.h \ macros.h backend.h lpc_types.o: lpc_types.c global.h \ machine.h config.h debug.h \ port.h svalue.h \ lpc_types.h stralloc.h \ stuff.h array.h \ las.h dynamic_buffer.h \ program.h add_efun.h \ hashtable.h object.h \ list.h mapping.h \ macros.h error.h main.o: main.c global.h \ machine.h config.h debug.h \ port.h backend.h \ module.h object.h \ svalue.h lex.h \ lpc_types.h builtin_efuns.h \ array.h las.h \ dynamic_buffer.h program.h \ stralloc.h interpret.h \ error.h macros.h \ callback.h lpc_signal.h mapping.o: mapping.c global.h \ machine.h config.h debug.h \ port.h mapping.h \ las.h svalue.h \ dynamic_buffer.h program.h \ array.h macros.h language.h \ error.h interpret.h memory.o: memory.c global.h \ machine.h config.h debug.h \ port.h error.h \ svalue.h module.o: module.c module.h \ types.h machine.h macros.h \ memory.h error.h \ svalue.h modlist.h object.o: object.c global.h \ machine.h config.h debug.h \ port.h object.h \ svalue.h dynamic_buffer.h \ interpret.h program.h \ stralloc.h macros.h \ error.h main.h opcodes.o: opcodes.c global.h \ machine.h config.h debug.h \ port.h interpret.h \ program.h svalue.h \ array.h las.h \ dynamic_buffer.h stralloc.h \ mapping.h list.h \ opcodes.h object.h \ error.h lpc_types.h operators.o: operators.c global.h \ machine.h config.h debug.h \ port.h interpret.h \ program.h svalue.h \ list.h las.h \ dynamic_buffer.h mapping.h \ array.h stralloc.h \ opcodes.h operators.h \ language.h error.h port.o: port.c global.h \ machine.h config.h debug.h \ port.h macros.h program.o: program.c global.h \ machine.h config.h debug.h \ port.h program.h \ object.h svalue.h \ dynamic_buffer.h lpc_types.h \ stralloc.h las.h language.h \ lex.h macros.h \ fsort.h error.h \ docode.h interpret.h \ hashtable.h compilation.h rusage.o: rusage.c global.h \ machine.h config.h debug.h \ port.h rusage.h stralloc.o: stralloc.c global.h \ machine.h config.h debug.h \ port.h stralloc.h \ macros.h dynamic_buffer.h \ error.h svalue.h stuff.o: stuff.c stuff.h \ types.h machine.h svalue.o: svalue.c global.h \ machine.h config.h debug.h \ port.h svalue.h \ stralloc.h array.h \ las.h dynamic_buffer.h \ program.h mapping.h \ list.h object.h \ add_efun.h hashtable.h \ error.h
f0c7931995-09-12David Hedbor ualarm.o: ualarm.c