Skip to content
Snippets Groups Projects
Makefile 14.3 KiB
Newer Older
sjplimp's avatar
 
sjplimp committed
# LAMMPS multiple-machine -*- Makefile -*-
sjplimp's avatar
sjplimp committed

sjplimp's avatar
 
sjplimp committed
SHELL = /bin/bash
sjplimp's avatar
 
sjplimp committed
PYTHON = python

sjplimp's avatar
sjplimp committed
#.IGNORE:

# Definitions

sjplimp's avatar
 
sjplimp committed
ROOT =	 lmp
EXE =	 lmp_$@
ARLIB =  liblammps_$@.a
SHLIB =	 liblammps_$@.so
ARLINK = liblammps.a
SHLINK = liblammps.so

OBJDIR =   Obj_$@
OBJSHDIR = Obj_shared_$@

INC =	$(filter-out lmpinstalledpkgs.h,$(wildcard *.h))
sjplimp's avatar
sjplimp committed
OBJ = 	$(SRC:.cpp=.o)

SRCLIB = $(filter-out main.cpp,$(SRC))
OBJLIB = $(filter-out main.o,$(OBJ))
sjplimp's avatar
 
sjplimp committed

# Command-line options for mode: exe (default), shexe, lib, shlib

mode = exe
objdir = $(OBJDIR)

ifeq ($(mode),shexe)
objdir = $(OBJSHDIR)
endif

ifeq ($(mode),lib)
objdir = $(OBJDIR)
endif

ifeq ($(mode),shlib)
objdir = $(OBJSHDIR)
endif

sjplimp's avatar
 
sjplimp committed
# Package variables

# PACKAGE    = standard packages
# PACKUSER   = user packagse
# PACKLIB    = all packages that require an additional lib
#              should be PACKSYS + PACKINT + PACKEXT
# PACKSYS    = subset that reqiure a common system library
#              include MPIIO and LB b/c require full MPI, not just STUBS
# PACKINT    = subset that require an internal (provided) library
# PACKEXT    = subset that require an external (downloaded) library

sjplimp's avatar
 
sjplimp committed
PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \
	  granular kim kokkos kspace latte manybody mc meam message misc \
	  molecule mpiio mscg opt peri poems \
	  python qeq reax replica rigid shock snap spin srd voronoi
sjplimp's avatar
 
sjplimp committed

PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \
sjplimp's avatar
 
sjplimp committed
	   user-diffraction user-dpd user-drude user-eff user-fep user-h5md \
Steve Plimpton's avatar
Steve Plimpton committed
	   user-intel user-lb user-manifold user-meamc user-meso \
	   user-mgpt user-misc user-mofff user-molfile \
	   user-netcdf user-omp user-phonon user-ptm user-qmmm user-qtb \
	   user-quip user-reaxc user-scafacos user-smd user-smtbq \
	   user-sph user-tally user-uef user-vtk
sjplimp's avatar
 
sjplimp committed

PACKLIB = compress gpu kim kokkos latte meam message mpiio mscg poems \
	  user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \
	  user-netcdf user-qmmm user-quip user-scafacos user-smd user-vtk
sjplimp's avatar
 
sjplimp committed

PACKSYS = compress mpiio python user-lb
PACKINT = gpu kokkos meam message poems reax user-atc user-awpmd user-colvars
PACKEXT = kim latte mscg voronoi \
	  user-h5md user-molfile user-netcdf user-qmmm user-quip \
sjplimp's avatar
 
sjplimp committed
PACKALL = $(PACKAGE) $(PACKUSER)

sjplimp's avatar
 
sjplimp committed
PACKAGEUC = $(shell echo $(PACKAGE) | tr a-z A-Z)
PACKUSERUC = $(shell echo $(PACKUSER) | tr a-z A-Z)
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
YESDIR = $(shell echo $(@:yes-%=%) | tr a-z A-Z)
NODIR  = $(shell echo $(@:no-%=%) | tr a-z A-Z)
LIBDIR = $(shell echo $(@:lib-%=%))
LIBUSERDIR = $(shell echo $(@:lib-user-%=%))
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
# List of all targets
sjplimp's avatar
sjplimp committed

help:
sjplimp's avatar
 
sjplimp committed
	@echo ''
	@echo 'make clean-all           delete all object files'
	@echo 'make clean-machine       delete object files for one machine'
sjplimp's avatar
 
sjplimp committed
	@echo 'make mpi-stubs           build dummy MPI library in STUBS'
sjplimp's avatar
 
sjplimp committed
	@echo 'make install-python      install LAMMPS wrapper in Python'
	@echo 'make tar                 create lmp_src.tar.gz for src dir and packages'
sjplimp's avatar
 
sjplimp committed
	@echo ''
	@echo 'make package                 list available packages and their dependencies'
sjplimp's avatar
 
sjplimp committed
	@echo 'make package-status (ps)     status of all packages'
	@echo 'make package-installed (pi)  list of installed packages'
sjplimp's avatar
 
sjplimp committed
	@echo 'make yes-package             install a single pgk in src dir'
	@echo 'make no-package              remove a single pkg from src dir'
	@echo 'make yes-all                 install all pgks in src dir'
	@echo 'make no-all                  remove all pkgs from src dir'
	@echo 'make yes-standard (yes-std)  install all standard pkgs'
sjplimp's avatar
 
sjplimp committed
	@echo 'make no-standard (no-std)    remove all standard pkgs'
sjplimp's avatar
 
sjplimp committed
	@echo 'make yes-user                install all user pkgs'
	@echo 'make no-user                 remove all user pkgs'
	@echo 'make yes-lib       install all pkgs with libs (included or ext)'
	@echo 'make no-lib        remove all pkgs with libs (included or ext)'
	@echo 'make yes-ext                 install all pkgs with external libs'
	@echo 'make no-ext                  remove all pkgs with external libs'
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo 'make package-update (pu) replace src files with updated package files'
sjplimp's avatar
 
sjplimp committed
	@echo 'make package-overwrite   replace package files with src files'
sjplimp's avatar
 
sjplimp committed
	@echo 'make package-diff (pd)   diff src files against package files'
	@echo 'make lib-package         help for download/build/install a package library'
	@echo 'make lib-package args="..."    download/build/install a package library'
	@echo 'make purge               purge obsolete copies of source files'
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo 'make machine             build LAMMPS for machine'
	@echo 'make mode=lib machine    build LAMMPS as static lib for machine'
	@echo 'make mode=shlib machine  build LAMMPS as shared lib for machine'
	@echo 'make mode=shexe machine  build LAMMPS as shared exe for machine'
	@echo 'make makelist            create Makefile.list used by old makes'
	@echo 'make -f Makefile.list machine     build LAMMPS for machine (old)'
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo 'machine is one of these from src/MAKE:'
sjplimp's avatar
sjplimp committed
	@echo ''
	@files="`ls MAKE/Makefile.*`"; \
sjplimp's avatar
 
sjplimp committed
	  for file in $$files; do head -1 $$file; done
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo '... or one of these from src/MAKE/OPTIONS:'
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@files="`ls MAKE/OPTIONS/Makefile.*`"; \
	  for file in $$files; do head -1 $$file; done
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo '... or one of these from src/MAKE/MACHINES:'
sjplimp's avatar
 
sjplimp committed
	@echo ''
	@files="`ls MAKE/MACHINES/Makefile.*`"; \
	  for file in $$files; do head -1 $$file; done
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo '... or one of these from src/MAKE/MINE:'
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@files="`ls MAKE/MINE/Makefile.* 2>/dev/null`"; \
sjplimp's avatar
 
sjplimp committed
	  for file in $$files; do head -1 $$file; done
	@echo ''
sjplimp's avatar
sjplimp committed


lmpinstalledpkgs.h: $(SRC) $(INC)
	@echo 'Gathering installed package information (may take a little while)'
	@echo '#ifndef LMP_INSTALLED_PKGS_H' >  lmpinstalledpkgs.tmp
	@echo '#define LMP_INSTALLED_PKGS_H' >> lmpinstalledpkgs.tmp
	@echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' >> lmpinstalledpkgs.tmp
	@for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \
             [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> lmpinstalledpkgs.tmp || :; done
	@echo ' NULL };' >> lmpinstalledpkgs.tmp
	@if [ -f lmpinstalledpkgs.h ]; \
          then test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \
	        mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp ; \
        else mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h ; fi

sjplimp's avatar
 
sjplimp committed
# Build LAMMPS in one of 4 modes
# exe =   exe with static compile in Obj_machine (default)
# shexe = exe with shared compile in Obj_shared_machine
# lib =   static lib in Obj_machine
# shlib = shared lib in Obj_shared_machine
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
sjplimp committed
.DEFAULT:
sjplimp's avatar
 
sjplimp committed
	@if [ $@ = "serial" -a ! -f STUBS/libmpi_stubs.a ]; \
sjplimp's avatar
 
sjplimp committed
	  then $(MAKE) mpi-stubs; fi
sjplimp's avatar
 
sjplimp committed
	@test -f MAKE/Makefile.$@ -o -f MAKE/OPTIONS/Makefile.$@ -o \
	  -f MAKE/MACHINES/Makefile.$@ -o -f MAKE/MINE/Makefile.$@
sjplimp's avatar
 
sjplimp committed
	@if [ ! -d $(objdir) ]; then mkdir $(objdir); fi
sjplimp's avatar
 
sjplimp committed
	@$(SHELL) Make.sh style
sjplimp's avatar
 
sjplimp committed
	@if [ -f MAKE/MACHINES/Makefile.$@ ]; \
sjplimp's avatar
 
sjplimp committed
	  then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi
sjplimp's avatar
 
sjplimp committed
	@if [ -f MAKE/OPTIONS/Makefile.$@ ]; \
sjplimp's avatar
 
sjplimp committed
	  then cp MAKE/OPTIONS/Makefile.$@ $(objdir)/Makefile; fi
sjplimp's avatar
 
sjplimp committed
	@if [ -f MAKE/Makefile.$@ ]; \
sjplimp's avatar
 
sjplimp committed
	  then cp MAKE/Makefile.$@ $(objdir)/Makefile; fi
sjplimp's avatar
 
sjplimp committed
	@if [ -f MAKE/MINE/Makefile.$@ ]; \
sjplimp's avatar
 
sjplimp committed
	  then cp MAKE/MINE/Makefile.$@ $(objdir)/Makefile; fi
sjplimp's avatar
 
sjplimp committed
	@if [ ! -e Makefile.package ]; \
	  then cp Makefile.package.empty Makefile.package; fi
	@if [ ! -e Makefile.package.settings ]; \
	  then cp Makefile.package.settings.empty Makefile.package.settings; fi
sjplimp's avatar
 
sjplimp committed
	@cp Makefile.package Makefile.package.settings $(objdir)
sjplimp's avatar
 
sjplimp committed
	@cd $(objdir); rm -f .depend; \
	$(MAKE) $(MFLAGS) "SRC = $(SRC)" "INC = $(INC)" depend || :
sjplimp's avatar
 
sjplimp committed
ifeq ($(mode),exe)
	@cd $(objdir); \
sjplimp's avatar
 
sjplimp committed
	$(MAKE) $(MFLAGS) "OBJ = $(OBJ)" "INC = $(INC)" "SHFLAGS =" \
sjplimp's avatar
 
sjplimp committed
	  "EXE = ../$(EXE)" ../$(EXE)
sjplimp's avatar
 
sjplimp committed
endif
ifeq ($(mode),shexe)
	@cd $(objdir); \
	$(MAKE) $(MFLAGS) "OBJ = $(OBJ)" "INC = $(INC)" \
	  "EXE = ../$(EXE)" ../$(EXE)
endif
ifeq ($(mode),lib)
	@cd $(objdir); \
	$(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" "SHFLAGS =" \
	  "EXE = ../$(ARLIB)" lib
	@rm -f $(ARLINK)
	@ln -s $(ARLIB) $(ARLINK)
endif
ifeq ($(mode),shlib)
	@cd $(objdir); \
	$(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" \
	  "EXE = ../$(SHLIB)" shlib
	@rm -f $(SHLINK)
	@ln -s $(SHLIB) $(SHLINK)
endif
sjplimp's avatar
sjplimp committed

sjplimp's avatar
 
sjplimp committed
# Remove machine-specific object files

sjplimp's avatar
 
sjplimp committed
clean:
	@echo 'make clean-all           delete all object files'
	@echo 'make clean-machine       delete object files for one machine'

clean-all:
sjplimp's avatar
 
sjplimp committed
	rm -rf Obj_*
sjplimp's avatar
 
sjplimp committed
clean-%:
sjplimp's avatar
 
sjplimp committed
	rm -rf Obj_$(@:clean-%=%) Obj_shared_$(@:clean-%=%)
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
# Create Makefile.list
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
sjplimp committed
makelist:
sjplimp's avatar
 
sjplimp committed
	@$(SHELL) Make.sh style
	@$(SHELL) Make.sh Makefile.list
sjplimp's avatar
sjplimp committed

sjplimp's avatar
 
sjplimp committed
# Make MPI STUBS library

sjplimp's avatar
 
sjplimp committed
mpi-stubs:
sjplimp's avatar
 
sjplimp committed
	@cd STUBS; $(MAKE) clean; $(MAKE)

sjplimp's avatar
 
sjplimp committed
# install LAMMPS shared lib and Python wrapper for Python usage
#   automatically adapt name of python interpreter

sjplimp's avatar
 
sjplimp committed
install-python:
sjplimp's avatar
 
sjplimp committed
	@$(PYTHON) ../python/install.py
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
# Create a tarball of src dir and packages

tar:
	@cd STUBS; $(MAKE) clean
	@cd ..; tar cvzf src/$(ROOT)_src.tar.gz \
sjplimp's avatar
 
sjplimp committed
	  src/Make* src/Package.sh src/Depend.sh src/Install.sh \
	  src/MAKE src/DEPEND src/*.cpp src/*.h src/STUBS \
sjplimp's avatar
 
sjplimp committed
	  $(patsubst %,src/%,$(PACKAGEUC)) $(patsubst %,src/%,$(PACKUSERUC)) \
          --exclude=*/.svn
	@cd STUBS; $(MAKE)
	@echo "Created $(ROOT)_src.tar.gz"

sjplimp's avatar
 
sjplimp committed
# Package management
sjplimp's avatar
sjplimp committed

package:
sjplimp's avatar
 
sjplimp committed
	@echo 'Standard packages:' $(PACKAGE)
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo 'User-contributed packages:' $(PACKUSER)
	@echo ''
	@echo 'Packages that need system libraries:' $(PACKSYS)
	@echo ''
	@echo 'Packages that need provided libraries:' $(PACKINT)
	@echo ''
	@echo 'Packages that need external libraries:' $(PACKEXT)
	@echo ''
	@echo 'make package                 list available packages'
sjplimp's avatar
 
sjplimp committed
	@echo 'make package                 list available packages'
	@echo 'make package-status (ps)     status of all packages'
	@echo 'make package-installed (pi)  list of installed packages'
sjplimp's avatar
 
sjplimp committed
	@echo 'make yes-package             install a single pgk in src dir'
	@echo 'make no-package              remove a single pkg from src dir'
	@echo 'make yes-all                 install all pgks in src dir'
	@echo 'make no-all                  remove all pkgs from src dir'
	@echo 'make yes-standard (yes-std)  install all standard pkgs'
	@echo 'make no-standard (no-std)    remove all standard pkgs'
sjplimp's avatar
 
sjplimp committed
	@echo 'make yes-user                install all user pkgs'
	@echo 'make no-user                 remove all user pkgs'
	@echo 'make yes-lib       install all pkgs with libs (included or ext)'
	@echo 'make no-lib        remove all pkgs with libs (included or ext)'
	@echo 'make yes-ext                 install all pkgs with external libs'
	@echo 'make no-ext                  remove all pkgs with external libs'
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@echo 'make package-update (pu)  replace src files with package files'
	@echo 'make package-overwrite    replace package files with src files'
	@echo 'make package-diff (pd)    diff src files against package file'
	@echo 'make lib-package      build and/or download a package library'
sjplimp's avatar
sjplimp committed

yes-all:
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKALL); do $(MAKE) yes-$$p; done
sjplimp's avatar
sjplimp committed

no-all:
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKALL); do $(MAKE) no-$$p; done
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
yes-standard yes-std:
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKAGE); do $(MAKE) yes-$$p; done

sjplimp's avatar
 
sjplimp committed
no-standard no-std:
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKAGE); do $(MAKE) no-$$p; done

yes-user:
	@for p in $(PACKUSER); do $(MAKE) yes-$$p; done

no-user:
	@for p in $(PACKUSER); do $(MAKE) no-$$p; done
sjplimp's avatar
 
sjplimp committed

yes-lib:
	@for p in $(PACKLIB); do $(MAKE) yes-$$p; done

sjplimp's avatar
 
sjplimp committed
no-lib:
	@for p in $(PACKLIB); do $(MAKE) no-$$p; done

yes-ext:
	@for p in $(PACKEXT); do $(MAKE) yes-$$p; done

no-ext:
	@for p in $(PACKEXT); do $(MAKE) no-$$p; done

sjplimp's avatar
 
sjplimp committed
yes-%:
sjplimp's avatar
 
sjplimp committed
	@if [ ! -e Makefile.package ]; \
	  then cp Makefile.package.empty Makefile.package; fi
	@if [ ! -e Makefile.package.settings ]; \
	  then cp Makefile.package.settings.empty Makefile.package.settings; fi
sjplimp's avatar
 
sjplimp committed
	@if [ ! -e $(YESDIR) ]; then \
	  echo "Package $(@:yes-%=%) does not exist"; \
sjplimp's avatar
 
sjplimp committed
	elif [ -e $(YESDIR)/Install.sh ]; then \
sjplimp's avatar
 
sjplimp committed
	  echo "Installing package $(@:yes-%=%)"; \
sjplimp's avatar
 
sjplimp committed
	  cd $(YESDIR); $(SHELL) Install.sh 1; cd ..; \
		$(SHELL) Depend.sh $(YESDIR) 1; \
sjplimp's avatar
 
sjplimp committed
	else \
	  echo "Installing package $(@:yes-%=%)"; \
	  cd $(YESDIR); $(SHELL) ../Install.sh 1; cd ..; \
		$(SHELL) Depend.sh $(YESDIR) 1; \
sjplimp's avatar
 
sjplimp committed
	fi;

no-%:
	@if [ ! -e $(NODIR) ]; then \
	  echo "Package $(@:no-%=%) does not exist"; \
sjplimp's avatar
 
sjplimp committed
	elif [ -e $(NODIR)/Install.sh ]; then \
sjplimp's avatar
 
sjplimp committed
	  echo "Uninstalling package $(@:no-%=%)"; \
sjplimp's avatar
 
sjplimp committed
	  cd $(NODIR); $(SHELL) Install.sh 0; cd ..; \
		$(SHELL) Depend.sh $(NODIR) 0; \
sjplimp's avatar
 
sjplimp committed
	else \
	  echo "Uninstalling package $(@:no-%=%)"; \
	  cd $(NODIR); $(SHELL) ../Install.sh 0; cd ..; \
		$(SHELL) Depend.sh $(NODIR) 0; \
sjplimp's avatar
 
sjplimp committed
        fi;

# download/build/install a package library
# update the timestamp on main.cpp to trigger a relink with "make machine"
	@if [ -e ../lib/$(LIBDIR)/Install.py ]; then \
	  echo "Installing lib $(@:lib-%=%)"; \
	  ( cd ../lib/$(LIBDIR); $(PYTHON) Install.py $(args) ); \
	elif [ -e ../lib/$(LIBUSERDIR)/Install.py ]; then \
	  echo "Installing lib $(@:lib-user-%=%)"; \
	  ( cd ../lib/$(LIBUSERDIR); $(PYTHON) Install.py $(args) ); \
	else \
	  echo "Install script for lib $(@:lib-%=%) does not exist"; \
athomps's avatar
athomps committed
# status = list src files that differ from package files
# installed = list of installed packages
sjplimp's avatar
 
sjplimp committed
# update = replace src files with newer package files
# overwrite = overwrite package files with newer src files
athomps's avatar
athomps committed
# diff = show differences between src and package files
sjplimp's avatar
 
sjplimp committed
# purge = delete obsolete and auto-generated package files
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
package-status ps:
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p status; done
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p status; done
sjplimp's avatar
sjplimp committed

package-installed pi:
	@for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p installed; done
	@for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p installed; done

sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p update; done
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p update; done
sjplimp's avatar
sjplimp committed

sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p overwrite; done
sjplimp's avatar
 
sjplimp committed
	@echo ''
sjplimp's avatar
 
sjplimp committed
	@for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p overwrite; done
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
package-diff pd:
athomps's avatar
athomps committed
	@for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p diff; done
	@echo ''
	@for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p diff; done
sjplimp's avatar
 
sjplimp committed

sjplimp's avatar
 
sjplimp committed
	@echo 'Purging obsolete and auto-generated source files'
	@for f in `grep -v '#' Purge.list` ;		\
	    do test -f $$f && rm $$f && echo $$f || : ;		\
	done