152 lines
4.3 KiB
Makefile
152 lines
4.3 KiB
Makefile
CC = gcc -g
|
|
|
|
LIBS = @LIBS@ -lX11 -lscsh
|
|
SCSH_LIB = @scsh_libraries@
|
|
LIB_DIRS = -L@x_libraries@ -L$(SCSH_LIB)
|
|
INCLUDES = -I@x_includes@
|
|
|
|
SCSH_INCLUDES = @scsh_includes@
|
|
ifneq ($(SCSH_INCLUDES),)
|
|
INCLUDES += -I$(SCSH_INCLUDES)
|
|
endif
|
|
|
|
SCSH_MODULES = @scsh_modules@
|
|
|
|
SCX_VERSION = "0.1"
|
|
SCX_VM = scxvm
|
|
SCX_IMAGE = scx.image
|
|
SCX = scx
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
_LIBS = -lscsh -lm -lX11 -lcrypt -lXpm $(LIB_DL)
|
|
|
|
### The first=default target
|
|
enough: $(SCX)
|
|
|
|
### Making the VM
|
|
### The VM is scsh plus all new primitives from the c files
|
|
|
|
OBJECTS = \
|
|
c/xlib/types.o c/xlib/display.o c/xlib/window.o c/xlib/event-types.o \
|
|
c/xlib/colormap.o c/xlib/gcontext.o c/xlib/event.o \
|
|
c/xlib/graphics.o c/xlib/font.o c/xlib/visual.o \
|
|
c/xlib/cursor.o c/xlib/text.o c/xlib/property.o c/xlib/wm.o \
|
|
c/xlib/key.o c/xlib/error.o \
|
|
c/xlib/grab.o \
|
|
c/xlib/pixmap.o \
|
|
c/xlib/init.o \
|
|
c/xlib/client.o \
|
|
c/xlib/util.o \
|
|
c/xlib/region.o
|
|
# c/libs/xpm.o
|
|
|
|
SCM_FILES = scheme/xlib/display.scm \
|
|
scheme/xlib/colormap.scm \
|
|
scheme/xlib/cursor.scm \
|
|
scheme/xlib/error.scm \
|
|
scheme/xlib/event-types.scm scheme/xlib/event.scm \
|
|
scheme/xlib/sync-event.scm\
|
|
scheme/xlib/font.scm \
|
|
scheme/xlib/gcontext.scm \
|
|
scheme/xlib/grab.scm \
|
|
scheme/xlib/graphics.scm \
|
|
scheme/xlib/key.scm \
|
|
scheme/xlib/property.scm \
|
|
scheme/xlib/text.scm \
|
|
scheme/xlib/window.scm \
|
|
scheme/xlib/wm.scm \
|
|
scheme/xlib/pixmap.scm \
|
|
scheme/xlib/visual.scm \
|
|
scheme/xlib/client.scm \
|
|
scheme/xlib/utility.scm \
|
|
scheme/xlib/atom.scm \
|
|
scheme/xlib/region.scm
|
|
# scheme/libs/xpm.scm
|
|
|
|
SCM_CONFIG_FILES = scheme/xlib/xlib-interfaces.scm \
|
|
scheme/xlib/xlib-packages.scm #\
|
|
# scheme/libs/libs-interfaces.scm scheme/libs/libs-packages.scm
|
|
|
|
PACKAGES = xlib xpm
|
|
|
|
enough: $(SCX)
|
|
|
|
$(SCX_VM): tmpmain.o $(OBJECTS)
|
|
$(CC) $(LDFLAGS) $(CFLAGS) -o $(SCX_VM) $(LIB_DIRS) tmpmain.o $(OBJECTS) $(LIBS)
|
|
|
|
$(OBJECTS): c/xlib/xlib.h
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -c $(INCLUDES) -o $@ $<
|
|
|
|
tmpmain.o: c/main.c
|
|
$(CC) -c -DSCSHIMAGE=\"$(SCSH_LIB)/scsh.image\" $(INCLUDES) $(CFLAGS) -o $@ $<
|
|
|
|
main.o: c/main.c
|
|
$(CC) -c -DSCSHIMAGE=\"`pwd`/scx.image\" $(INCLUDES) $(CFLAGS) -o $@ $<
|
|
|
|
|
|
### Making the Image
|
|
### The Image is a dump of the VM with all new packages loaded, and
|
|
### xlib opened.
|
|
|
|
STARTUP_MSG = "with SCX $(SCX_VERSION), the X11 support"
|
|
|
|
SCSH_ARGS = +lp $(SCSH_MODULES)/ -ll sunterlib.scm
|
|
|
|
$(SCX_IMAGE): $(SCX_VM) $(SCM_FILES) $(SCM_CONFIG_FILES)
|
|
( \
|
|
echo ",batch on"; \
|
|
echo ",config ,load $(SCM_CONFIG_FILES)"; \
|
|
echo ",load-package xlib"; \
|
|
echo "(dump-scsh \"$(SCX_IMAGE)\")"; \
|
|
) | ./$(SCX_VM) $(SCSH_ARGS)
|
|
|
|
# echo ",load-package xpm"; \
|
|
|
|
$(SCX): $(SCX_IMAGE) main.o $(OBJECTS)
|
|
$(CC) $(LDFLAGS) -o $@ $(LIB_DIRS) main.o $(OBJECTS) $(LIBS)
|
|
|
|
# --------------------
|
|
# Distribution...
|
|
|
|
distdir = /tmp
|
|
|
|
# DISTFILES should include all sources.
|
|
DISTFILES = COPYRIGHT INSTALL configure configure.in Makefile.in \
|
|
$(SCM_FILES) $(SCM_CONFIG_FILES) $(OBJECTS:.o=.c) \
|
|
c/main.c c/xlib/xlib.h
|
|
|
|
distname = scx-0.1
|
|
|
|
.PHONY : dist
|
|
dist:
|
|
distname=$(distname) && \
|
|
distfile=$(distdir)/$$distname.tar.gz && \
|
|
if [ -d $(distdir) ] && \
|
|
[ -w $$distfile -o -w $(distdir) ]; then \
|
|
rm -f $$distname && \
|
|
ln -s . $$distname && \
|
|
files='' && \
|
|
for i in $(DISTFILES); do \
|
|
files="$$files $$distname/$$i"; \
|
|
done && \
|
|
tar -cf - $$files | \
|
|
gzip --best >$$distfile && \
|
|
rm $$distname; \
|
|
else \
|
|
echo "Can't write $$distfile" >&2; \
|
|
exit 1; \
|
|
fi
|
|
|
|
clean:
|
|
rm -f $(SCX_VM) $(SCX) $(SCX_IMAGE) *.o c/*.o c/xlib/*.o c/libs/*.o
|
|
|
|
distclean: clean
|
|
rm -f configure Makefile config.log config.status
|
|
rm -rf autom4te.cache/
|
|
|
|
tags:
|
|
find . -name "*.c" -or -name "*.h" -or -name "*.scm" | etags -
|