107 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
### update this to fit your system
 | 
						|
SCSH_PREFIX = /afs/wsi/i386_fbsd43/scsh-0.6.1/
 | 
						|
X11_PATH = /usr/X11R6
 | 
						|
LIB_DL = 
 | 
						|
 | 
						|
### the following does not have to be changed (hopefully)
 | 
						|
SCHEME_INCLUDE = $(SCSH_PREFIX)/include
 | 
						|
SCSH_LIB = $(SCSH_PREFIX)/lib/scsh
 | 
						|
X11_INCLUDE = $(X11_PATH)/include
 | 
						|
X11_LIB = $(X11_PATH)/lib
 | 
						|
 | 
						|
CC = gcc
 | 
						|
 | 
						|
SCX_VERSION = "0.1"
 | 
						|
SCX_VM = scxvm
 | 
						|
SCX_IMAGE = scx.image
 | 
						|
SCX = scx
 | 
						|
 | 
						|
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/display.o c/xlib/window.o c/xlib/color.o \
 | 
						|
	c/xlib/colormap.o c/xlib/pixel.o c/xlib/gcontext.o c/xlib/event.o \
 | 
						|
	c/xlib/pixmap.o c/xlib/graphics.o c/xlib/font.o \
 | 
						|
	c/xlib/cursor.o c/xlib/text.o c/xlib/property.o c/xlib/wm.o \
 | 
						|
	c/xlib/client.o c/xlib/key.o c/xlib/error.o \
 | 
						|
	c/xlib/extension.o c/xlib/init.o c/xlib/util.o c/xlib/grab.o \
 | 
						|
	c/xlib/visual.o c/xlib/region.o \
 | 
						|
	c/libs/xpm.o
 | 
						|
 | 
						|
SCM_FILES = scheme/xlib/types.scm \
 | 
						|
	scheme/xlib/atom-type.scm scheme/xlib/client.scm \
 | 
						|
	scheme/xlib/color-type.scm scheme/xlib/color.scm \
 | 
						|
	scheme/xlib/colormap-type.scm scheme/xlib/colormap.scm \
 | 
						|
	scheme/xlib/cursor-type.scm scheme/xlib/cursor.scm \
 | 
						|
	scheme/xlib/display-type.scm \
 | 
						|
	scheme/xlib/display.scm scheme/xlib/drawable-type.scm \
 | 
						|
	scheme/xlib/drawable.scm scheme/xlib/error.scm \
 | 
						|
	scheme/xlib/event-types.scm scheme/xlib/event.scm \
 | 
						|
	scheme/xlib/extension.scm scheme/xlib/font-type.scm \
 | 
						|
	scheme/xlib/font.scm scheme/xlib/gcontext-type.scm \
 | 
						|
	scheme/xlib/gcontext.scm scheme/xlib/grab.scm scheme/xlib/graphics.scm \
 | 
						|
	scheme/xlib/helper.scm scheme/xlib/key.scm scheme/xlib/pixel-type.scm \
 | 
						|
	scheme/xlib/pixel.scm scheme/xlib/pixmap-type.scm \
 | 
						|
	scheme/xlib/pixmap.scm scheme/xlib/property.scm \
 | 
						|
	scheme/xlib/region-type.scm scheme/xlib/region.scm \
 | 
						|
	scheme/xlib/text.scm scheme/xlib/utility.scm \
 | 
						|
	scheme/xlib/visual-type.scm scheme/xlib/visual.scm \
 | 
						|
	scheme/xlib/window-type.scm scheme/xlib/window.scm \
 | 
						|
	scheme/xlib/sync-event.scm \
 | 
						|
	scheme/xlib/wm.scm \
 | 
						|
	scheme/libs/xpm.scm
 | 
						|
 | 
						|
SCM_CONFIG_FILES = scheme/xlib/xlib-internal-interfaces.scm \
 | 
						|
	scheme/xlib/xlib-internal-packages.scm \
 | 
						|
	scheme/xlib/xlib-interfaces.scm \
 | 
						|
	scheme/xlib/xlib-packages.scm \
 | 
						|
	scheme/libs/libs-interfaces.scm scheme/libs/libs-packages.scm
 | 
						|
 | 
						|
PACKAGES = xlib xlib-types xpm
 | 
						|
 | 
						|
$(SCX_VM): tmpmain.o $(OBJECTS)
 | 
						|
	$(CC) -g -o $(SCX_VM) -L $(SCSH_LIB) -L $(X11_LIB) \
 | 
						|
		tmpmain.o $(OBJECTS) $(LIBS)
 | 
						|
 | 
						|
$(OBJECTS): c/xlib/xlib.h
 | 
						|
.c.o:
 | 
						|
	$(CC) -g -c -I $(X11_INCLUDE) -I $(SCHEME_INCLUDE) -o $@ $<
 | 
						|
 | 
						|
tmpmain.o: c/main.c
 | 
						|
	$(CC) -g -c -DSCSHIMAGE=\"$(SCSH_LIB)/scsh.image\" -I $(X11_INCLUDE) -I $(SCHEME_INCLUDE) -o $@ $<
 | 
						|
 | 
						|
main.o: c/main.c
 | 
						|
	$(CC) -g -c -DSCSHIMAGE=\"`pwd`/scx.image\" -I $(X11_INCLUDE) -I $(SCHEME_INCLUDE) -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"
 | 
						|
 | 
						|
$(SCX_IMAGE): $(SCX_VM) $(SCM_FILES) $(SCM_CONFIG_FILES)
 | 
						|
	( \
 | 
						|
	echo ",batch on"; \
 | 
						|
	echo ",config ,load $(SCM_CONFIG_FILES)"; \
 | 
						|
	echo ",load-package xlib"; \
 | 
						|
	echo ",load-package xpm"; \
 | 
						|
	echo "(dump-scsh \"$(SCX_IMAGE)\")"; \
 | 
						|
	) | ./$(SCX_VM)
 | 
						|
 | 
						|
$(SCX): $(SCX_IMAGE) main.o $(OBJECTS)
 | 
						|
	$(CC) -g -o $@ -L $(SCSH_LIB) -L $(X11_LIB) \
 | 
						|
	main.o $(OBJECTS) $(LIBS)
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -f $(SCX_VM) $(SCX) $(SCX_IMAGE) *.o c/*.o c/xlib/*.o c/libs/*.o
 | 
						|
 | 
						|
tags:
 | 
						|
	find . -name "*.c" -or -name "*.h" -or -name "*.scm" | etags -
 |