lisp: Fix up lisp build so projects can get ao_lisp_const.h built as needed
authorKeith Packard <keithp@keithp.com>
Sun, 2 Apr 2017 23:17:33 +0000 (16:17 -0700)
committerKeith Packard <keithp@keithp.com>
Sun, 2 Apr 2017 23:17:33 +0000 (16:17 -0700)
Signed-off-by: Keith Packard <keithp@keithp.com>
src/cortexelf-v1/Makefile
src/lisp/Makefile
src/lisp/Makefile-inc [new file with mode: 0644]
src/lisp/Makefile-lisp [new file with mode: 0644]

index 66f18045a7118929869fb5e4abc7d7d3bfd2dba1..cea75ddf4fdd617b7a65c2bcaba1bda5b9f2371e 100644 (file)
@@ -102,7 +102,7 @@ HEX=$(PROGNAME)-$(VERSION).ihx
 SRC=$(ALTOS_SRC) ao_cortexelf.c
 OBJ=$(SRC:.c=.o)
 
-all: $(PROG) $(HEX)
+all:: $(PROG) $(HEX)
 
 $(PROG): Makefile $(OBJ) cortexelf.ld
        $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
@@ -117,10 +117,12 @@ ao_product.h: ao-make-product.5c ../Version
 
 distclean:     clean
 
-clean:
+clean::
        rm -f *.o $(PROGNAME)-*.elf $(PROGNAME)-*.ihx
        rm -f ao_product.h
 
+include ../lisp/Makefile-lisp
+
 install:
 
 uninstall:
index dd5a0cb44bf5ba4f55f04878c27b796e7d3536e4..25796ec530b1e1c17e28c5fd28b1710e39fcc079 100644 (file)
@@ -6,32 +6,15 @@ clean:
 ao_lisp_const.h: ao_lisp_const.lisp ao_lisp_make_const
        ./ao_lisp_make_const -o $@ ao_lisp_const.lisp
 
-SRCS=\
-       ao_lisp_make_const.c\
-       ao_lisp_mem.c \
-       ao_lisp_cons.c \
-       ao_lisp_string.c \
-       ao_lisp_atom.c \
-       ao_lisp_int.c \
-       ao_lisp_poly.c \
-       ao_lisp_builtin.c \
-       ao_lisp_read.c \
-       ao_lisp_frame.c \
-       ao_lisp_lambda.c \
-       ao_lisp_eval.c \
-       ao_lisp_rep.c \
-       ao_lisp_save.c \
-       ao_lisp_stack.c \
-       ao_lisp_error.c 
+include Makefile-inc
+SRCS=$(LISP_SRCS)
+
+HDRS=$(LISP_HDRS)
 
 OBJS=$(SRCS:.c=.o)
 
 CFLAGS=-DAO_LISP_MAKE_CONST -O0 -g -I. -Wall -Wextra -no-pie
 
-HDRS=\
-       ao_lisp.h \
-       ao_lisp_os.h \
-       ao_lisp_read.h
 
 ao_lisp_make_const:  $(OBJS)
        $(CC) $(CFLAGS) -o $@ $(OBJS)
diff --git a/src/lisp/Makefile-inc b/src/lisp/Makefile-inc
new file mode 100644 (file)
index 0000000..126deeb
--- /dev/null
@@ -0,0 +1,22 @@
+LISP_SRCS=\
+       ao_lisp_make_const.c\
+       ao_lisp_mem.c \
+       ao_lisp_cons.c \
+       ao_lisp_string.c \
+       ao_lisp_atom.c \
+       ao_lisp_int.c \
+       ao_lisp_poly.c \
+       ao_lisp_builtin.c \
+       ao_lisp_read.c \
+       ao_lisp_frame.c \
+       ao_lisp_lambda.c \
+       ao_lisp_eval.c \
+       ao_lisp_rep.c \
+       ao_lisp_save.c \
+       ao_lisp_stack.c \
+       ao_lisp_error.c 
+
+LISP_HDRS=\
+       ao_lisp.h \
+       ao_lisp_os.h \
+       ao_lisp_read.h
diff --git a/src/lisp/Makefile-lisp b/src/lisp/Makefile-lisp
new file mode 100644 (file)
index 0000000..998c767
--- /dev/null
@@ -0,0 +1,4 @@
+include ../lisp/Makefile-inc
+
+ao_lisp_const.h: $(LISP_SRCS) $(LISP_HDRS)
+       +cd ../lisp && make $@