CC=gcc

CFLAGS=-g -Wall -funsigned-char

LIBS=-lm

INCS=

PROG=js

AR=ar rcs

ALIB=libjs.a

ALIB_OBJS=util.o time.o jconv.o crypt3.o md5.o encode.o \
	regex.o string.o array.o refer.o object.o frame.o \
	file.o dbm.o xml.o \
	pack.o echo.o serial.o global.o \
	compile.o var.o exec.o

PROG_OBJS=main.o

ALIB_HDRS=util.h var.h _op.h _sym.h _ext.h

PROG_HDRS=util.h var.h

all:$(PROG)

test:$(PROG)
	./$(PROG) test.js

install:$(PROG)
	cp $(PROG) /usr/bin

$(PROG):$(PROG_OBJS) $(ALIB)
	$(CC) -o $@ $(PROG_OBJS) $(ALIB) $(LIBS)

$(ALIB):$(ALIB_OBJS)
	$(AR) $@ $(ALIB_OBJS)

$(PROG_OBJS):$(PROG_HDRS)

$(ALIB_OBJS):$(ALIB_HDRS)

.c.o:
	$(CC) $(CFLAGS) $(INCS) -c $<

clean:
	rm -f *.o *.a
