116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
# SUBDIRS lists the components of Elk that are compiled and installed by
 | 
						|
# running "make" and "make install".  The subdirectory "src" holds the
 | 
						|
# interpreter proper; a mininum configuration requires the SUBDIRS include,
 | 
						|
# scripts, src, and scm.
 | 
						|
#
 | 
						|
# Subdirectories if lib/ hold the standard extensions.  Delete them or
 | 
						|
# parts of them from SUBDIRS if you don't want them to be compiled and
 | 
						|
# installed; delete lib/xm and lib/xm/xt if you don't have Motif on your
 | 
						|
# system.
 | 
						|
 | 
						|
SUBDIRS= include\
 | 
						|
	 scripts\
 | 
						|
	 src\
 | 
						|
	 scm\
 | 
						|
	 lib/misc\
 | 
						|
	 lib/unix\
 | 
						|
	 lib/xlib\
 | 
						|
	 lib/xt\
 | 
						|
	 lib/xaw\
 | 
						|
	 lib/xm\
 | 
						|
	 lib/xm/xt
 | 
						|
 | 
						|
# ----------------------------------------------------------------------
 | 
						|
 | 
						|
SHELL= /bin/sh
 | 
						|
MAKE=  make
 | 
						|
GTAR=  gtar
 | 
						|
TAR=   tar
 | 
						|
GZIP=  gzip
 | 
						|
ZIP=   zip
 | 
						|
 | 
						|
default:
 | 
						|
	@for i in $(SUBDIRS) ;\
 | 
						|
	do \
 | 
						|
	    echo Making $$i...; \
 | 
						|
	    ( cd $$i ; $(MAKE) ) || exit $$?; \
 | 
						|
	done
 | 
						|
 | 
						|
install:
 | 
						|
	@for i in $(SUBDIRS) ;\
 | 
						|
	do \
 | 
						|
	    echo Installing $$i...; \
 | 
						|
	    ( cd $$i ; $(MAKE) install ) || exit $$?; \
 | 
						|
	done
 | 
						|
 | 
						|
localize:
 | 
						|
	@for i in $(SUBDIRS) ;\
 | 
						|
	do \
 | 
						|
	    echo Localizing $$i...; \
 | 
						|
	    ( cd $$i ; $(MAKE) localize ) || exit $$?; \
 | 
						|
	done
 | 
						|
 | 
						|
lint:
 | 
						|
	@for i in $(SUBDIRS) ;\
 | 
						|
	do \
 | 
						|
	    echo Linting $$i...; \
 | 
						|
	    ( cd $$i ; $(MAKE) lint ) || exit $$?; \
 | 
						|
	done
 | 
						|
 | 
						|
clean:
 | 
						|
	@for i in $(SUBDIRS) ;\
 | 
						|
	do \
 | 
						|
	    echo Cleaning $$i...; \
 | 
						|
	    ( cd $$i ; $(MAKE) clean ) || exit $$?; \
 | 
						|
	done
 | 
						|
 | 
						|
distclean:
 | 
						|
	@for i in $(SUBDIRS) ;\
 | 
						|
	do \
 | 
						|
	    echo Cleaning $$i...; \
 | 
						|
	    ( cd $$i ; $(MAKE) distclean ) || exit $$?; \
 | 
						|
	done
 | 
						|
 | 
						|
 | 
						|
# Package up all localized files (Makefile.local, include files, etc.)
 | 
						|
# and source files into a zip file (to be compiled on a DOS system).
 | 
						|
# The X11 extensions are not included.
 | 
						|
 | 
						|
LOCALF= Makefile config/system config/site include/*.h lib/misc/Makefile*\
 | 
						|
        lib/misc/*.c scm/[a-z]* src/Makefile* `ls -1 src/*.c |grep -v hp9k`
 | 
						|
 | 
						|
localized.zip:
 | 
						|
	$(MAKE) distclean
 | 
						|
	$(MAKE) localize
 | 
						|
	$(ZIP) -kr $@ $(LOCALF)
 | 
						|
 | 
						|
 | 
						|
# Make a full distribution
 | 
						|
 | 
						|
DISTF= README ROADMAP CHANGES INSTALL MACHINES COPYRIGHT CONTRIBUTORS\
 | 
						|
       PATCHLEVEL TODO BUGS MIGRATE Makefile config doc examples include lib\
 | 
						|
       scm scripts src util
 | 
						|
 | 
						|
dist:
 | 
						|
	echo elk-`util/getversion README'` > .rel
 | 
						|
	rm -rf `cat .rel`
 | 
						|
	mkdir `cat .rel`
 | 
						|
	for i in $(DISTF) ;\
 | 
						|
	do \
 | 
						|
	    (cd `cat .rel`; ln -s ../$$i) \
 | 
						|
	done
 | 
						|
	if [ -f config/site.dist ]; then \
 | 
						|
	    cp config/site config/site.old; \
 | 
						|
	    cp config/site.dist config/site; \
 | 
						|
	fi
 | 
						|
	if [ ! -f ExcludeFiles ]; then \
 | 
						|
	    $(TAR) -cvf `cat .rel`.tar -h `cat .rel`; \
 | 
						|
	else \
 | 
						|
	    $(GTAR) -cvf `cat .rel`.tar -h -X ExcludeFiles `cat .rel`; \
 | 
						|
	fi
 | 
						|
	$(GZIP) -f `cat .rel`.tar
 | 
						|
	rm -rf `cat .rel` .rel
 | 
						|
	if [ -f config/site.old ]; then \
 | 
						|
	    mv config/site.old config/site; \
 | 
						|
	fi
 |