| 1 | # Makefile.linux |
| 2 | # |
| 3 | # This Makefile is for use when distributing Tcl to the outside world. |
| 4 | # It is normally set up by running the "config" script. Before modifying |
| 5 | # this file by hand, you should read through the "config" script to see |
| 6 | # what it does. |
| 7 | # |
| 8 | # Some changes you may wish to make here: |
| 9 | # |
| 10 | # 1. To compile for non-UNIX systems (so that only the non-UNIX-specific |
| 11 | # commands are available), change the OBJS line below so it doesn't |
| 12 | # include ${UNIX_OBJS}. Also, add the switch "-DTCL_GENERIC_ONLY" to |
| 13 | # CFLAGS. Lastly, you'll have to provide your own replacement for the |
| 14 | # "panic" procedure (see panic.c for what the current one does). |
| 15 | # |
| 16 | # 2. ANSI-C procedure prototypes are turned on by default if supported |
| 17 | # by the compiler. To turn them off, add "-DNO_PROTOTYPE" to CFLAGS |
| 18 | # below. |
| 19 | # |
| 20 | # 3. If you've put the Tcl script library in a non-standard place, change |
| 21 | # the definition of TCL_LIBRARY to correspond to its location on your |
| 22 | # system. |
| 23 | # |
| 24 | |
| 25 | TCL_LIBRARY = /usr/local/lib/tcl |
| 26 | |
| 27 | CC = gcc |
| 28 | |
| 29 | CFLAGS = -O3 -I. -DTCL_LIBRARY=\"${TCL_LIBRARY}\" -DIS_LINUX |
| 30 | #CFLAGS = -g -I. -DTCL_LIBRARY=\"${TCL_LIBRARY}\" -DIS_LINUX |
| 31 | |
| 32 | GENERIC_OBJS = \ |
| 33 | regexp.o \ |
| 34 | tclassem.o \ |
| 35 | tclbasic.o \ |
| 36 | tclckall.o \ |
| 37 | tclcmdah.o \ |
| 38 | tclcmdil.o \ |
| 39 | tclcmdmz.o \ |
| 40 | tclexpr.o \ |
| 41 | tclget.o \ |
| 42 | tclhash.o \ |
| 43 | tclhist.o \ |
| 44 | tclparse.o \ |
| 45 | tclproc.o \ |
| 46 | tclutil.o \ |
| 47 | tclvar.o |
| 48 | |
| 49 | UNIX_OBJS = \ |
| 50 | panic.o \ |
| 51 | tclenv.o \ |
| 52 | tclglob.o \ |
| 53 | tclunxaz.o \ |
| 54 | tclunxst.o \ |
| 55 | tclunxut.o |
| 56 | |
| 57 | COMPAT_OBJS = |
| 58 | |
| 59 | OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} |
| 60 | |
| 61 | all: libtcl.a |
| 62 | |
| 63 | libtcl.a: ${OBJS} ${COMPAT_OBJS} |
| 64 | rm -f libtcl.a |
| 65 | ar cr libtcl.a ${OBJS} |
| 66 | ranlib libtcl.a |
| 67 | |
| 68 | tcltest: tcltest.o libtcl.a |
| 69 | ${CC} ${CFLAGS} tcltest.o libtcl.a -o tcltest |
| 70 | |
| 71 | test: tcltest |
| 72 | ( echo cd tests ; echo source all ) | ./tcltest |
| 73 | |
| 74 | clean: |
| 75 | rm -f ${OBJS} libtcl.a tcltest.o tcltest |
| 76 | |
| 77 | # The following target is used during configuration to compile |
| 78 | # a test program to see if certain facilities are available on |
| 79 | # the system. |
| 80 | |
| 81 | configtest: |
| 82 | ${CC} ${CFLAGS} test.c |
| 83 | |
| 84 | ${OBJS}: tcl.h tclhash.h tclint.h |
| 85 | ${UNIX_OBJS}: tclunix.h |