# $Id$ # PROGRAM = tinyscheme LIBRARIES = lib$(PROGRAM).a lib$(PROGRAM).so SRCS = \ dynload.c \ $(PROGRAM).c OBJS = $(SRCS:.c=.o) LIBS = -ldl -lm INSTALL_ROOT = /usr/local ARFLAGS = rv CC = gcc CP = cp -pf CFLAGS = -g -Wall -fPIC CPPFLAGS = \ -DUSE_DL=1 -DUSE_MATH=1 -DUSE_PLIST=1 \ -DSTANDALONE=0 \ -I. LD = $(CC) LDFLAGS = -g RANLIB = ranlib RM = rm -f all:: $(LIBRARIES) $(PROGRAM) $(PROGRAM).c: scheme.c # malloc(3) is declared in . $(RM) $@ grep -v "" scheme.c >$@ .c.o: $(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@ lib$(PROGRAM).a: $(OBJS) $(RM) $@ $(AR) $(ARFLAGS) $@ $(OBJS) $(RANLIB) $@ lib$(PROGRAM).so: $(OBJS) $(RM) $@ $(LD) $(LDFLAGS) -shared -o $@ $(OBJS) $(LIBS) $(PROGRAM): $(PROGRAM).c dynload.o $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -USTANDALONE -DSTANDALONE=1 $(PROGRAM).c dynload.o $(LIBS) clean:: -$(RM) *.o $(LIBRARIES) $(PROGRAM) $(PROGRAM).c install: $(CP) $(PROGRAM) $(INSTALL_ROOT)/bin/ $(CP) *.h $(INSTALL_ROOT)/include/tinyscheme/ $(CP) $(LIBRARIES) $(INSTALL_ROOT)/lib/ $(CP) init.scm $(INSTALL_ROOT)/share/tinyscheme/