shithub: femtolisp

Download patch

ref: 2f9d6593d40d5756034344a7456d6bec80c5873e
parent: 2b34bcfbd3881d039ec43becdaf61fc3171ada29
author: Jeff Bezanson <bezanson@post.harvard.edu>
date: Fri Feb 17 12:58:21 EST 2012

makefile updates

--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@
 DOBJS = $(SRCS:%.c=%.do)
 EXENAME = $(NAME)
 LIBTARGET = lib$(NAME)
-LLTDIR = ../llt
+LLTDIR = llt
 LLT = $(LLTDIR)/libllt.a
 
 # OS flags: LINUX, WIN32, MACOSX
--- a/Makefile.macosx
+++ b/Makefile.macosx
@@ -5,10 +5,12 @@
 OBJS = $(SRCS:%.c=%.o)
 DOBJS = $(SRCS:%.c=%.do)
 EXENAME = $(NAME)
-LLTDIR = ../llt
+LIBTARGET = lib$(NAME)
+LLTDIR = llt
 LLT = $(LLTDIR)/libllt.a
 
-FLAGS = -falign-functions -Wall -Wno-strict-aliasing -I$(LLTDIR) $(CFLAGS) -DUSE_COMPUTED_GOTO
+CONFIG = -DMACOSX -DARCH_X86_64 -DBITS64 -D__CPU__=686
+FLAGS = -falign-functions -Wall -Wno-strict-aliasing -I$(LLTDIR) $(CFLAGS) -DUSE_COMPUTED_GOTO $(CONFIG)
 LIBFILES = $(LLT)
 LIBS = $(LIBFILES) -lm -framework ApplicationServices
 
@@ -18,7 +20,7 @@
 default: release test
 
 test:
-	./flisp unittest.lsp
+	cd tests && ../flisp unittest.lsp
 
 %.o: %.c
 	$(CC) $(SHIPFLAGS) -c $< -o $@
@@ -27,18 +29,30 @@
 
 flisp.o:  flisp.c cvalues.c types.c flisp.h print.c read.c equal.c
 flisp.do: flisp.c cvalues.c types.c flisp.h print.c read.c equal.c
+flmain.o: flmain.c flisp.h
+flmain.do: flmain.c flisp.h
 
 $(LLT):
 	cd $(LLTDIR) && make
 
-debug: $(DOBJS) $(LIBFILES)
-	$(CC) $(DEBUGFLAGS) $(DOBJS) -o $(EXENAME) $(LIBS)
+$(LIBTARGET).da: $(DOBJS)
+	rm -rf $@
+	ar rs $@ $(DOBJS)
+
+$(LIBTARGET).a: $(OBJS)
+	rm -rf $@
+	ar rs $@ $(OBJS)
+
+debug: $(DOBJS) $(LIBFILES) $(LIBTARGET).da flmain.do
+	$(CC) $(DEBUGFLAGS) $(DOBJS) flmain.do -o $(EXENAME) $(LIBS) $(LIBTARGET).da
 	make test
 
-release: $(OBJS) $(LIBFILES)
-	$(CC) $(SHIPFLAGS) $(OBJS) -o $(EXENAME) $(LIBS)
+release: $(OBJS) $(LIBFILES) $(LIBTARGET).a flmain.o
+	$(CC) $(SHIPFLAGS) $(OBJS) flmain.o -o $(EXENAME) $(LIBS) $(LIBTARGET).a
 
 clean:
 	rm -f *.o
 	rm -f *.do
 	rm -f $(EXENAME)
+	rm -f $(LIBTARGET).a
+	rm -f $(LIBTARGET).da