1 # 2 # set appropriate the following variables in your environment: 3 # 4 # CC for the C compiler 5 # CFLAGS for options of CC 6 # LDFLAGS for linker options of CC 7 # 8 9 # 10 # ARCH_EXT can be used in order to install libraries in different directories 11 # depending on the computer architecture, 12 # e.g. $(HOME)/lib/sunos for ARCH_EXT = '/sunos' 13 # 14 #ARCH_EXT = 15 16 # 17 # set the path for the root of the include directories here, 18 # e.g. /usr/local/include 19 # 20 INCROOT = .. 21 # 22 # set the destination directories for the library and include files 23 # 24 LIBDEST = $(HOME)/lib$(ARCH_EXT) 25 INCDEST = $(HOME)/include 26 27 # 28 # the following text was created automaticaly. You should change it carefully. 29 # 30 31 SHELL = /bin/sh 32 33 LIBNAME = laspack 34 35 LIBRARY = lib$(LIBNAME).a 36 37 HDRS = copyrght.h \ 38 eigenval.h \ 39 elcmp.h \ 40 errhandl.h \ 41 factor.h \ 42 itersolv.h \ 43 lastypes.h \ 44 matrix.h \ 45 mlsolv.h \ 46 operats.h \ 47 precond.h \ 48 qmatrix.h \ 49 rtc.h \ 50 vector.h \ 51 version.h 52 53 EXTHDRS = 54 55 SRCS = eigenval.c \ 56 errhandl.c \ 57 factor.c \ 58 itersolv.c \ 59 matrix.c \ 60 mlsolv.c \ 61 operats.c \ 62 precond.c \ 63 qmatrix.c \ 64 rtc.c \ 65 vector.c 66 67 OBJS = eigenval.o \ 68 errhandl.o \ 69 factor.o \ 70 itersolv.o \ 71 matrix.o \ 72 mlsolv.o \ 73 operats.o \ 74 precond.o \ 75 qmatrix.o \ 76 rtc.o \ 77 vector.o 78 79 LIBS = 80 81 COMPFLAGS = 82 83 # compiler options passed throuth enviroment variables 84 #CFLAGS = 85 #PFLAGS = 86 #FFLAGS = 87 #CXXFLAGS = 88 89 LIBLOCAL = /usr/local/lib 90 INCLOCAL = /usr/local/include 91 92 INSTALL = mv 93 94 ARFLAGS = cru 95 96 LINTLIBS = 97 98 LINTFLAGS = -u -I$(INCROOT) $(CFLAGS) 99 100 MAKEFILE = makefile 101 102 PRINT = pr 103 104 PRINTFLAGS = 105 106 LP = lp 107 108 LPFLAGS = 109 110 all: $(LIBRARY) 111 112 clean:; @rm -rf $(OBJS) core 113 114 clobber:; @rm -f $(OBJS) $(LIBRARY) core tags 115 @if [ -f compllist ]; then rm -f compllist; fi 116 @if [ -f cleanlist ]; then rm -f cleanlist; fi 117 @find . -type f -print > compllist 118 @sed -n \ 119 -e "/~/ w cleanlist" \ 120 -e '/%/ w cleanlist' \ 121 -e '/.bak/ w cleanlist' \ 122 -e '/.obj/ w cleanlist' \ 123 -e '/.exe/ w cleanlist' \ 124 -e '/.aux/ w cleanlist' \ 125 -e '/.blg/ w cleanlist' \ 126 -e '/.dvi/ w cleanlist' \ 127 -e '/.glo/ w cleanlist' \ 128 -e '/.idx/ w cleanlist' \ 129 -e '/.ilg/ w cleanlist' \ 130 -e '/.ind/ w cleanlist' \ 131 -e '/.lof/ w cleanlist' \ 132 -e '/.log/ w cleanlist' \ 133 -e '/.lot/ w cleanlist' \ 134 -e '/.toc/ w cleanlist' \ 135 compllist 136 @rm -f `cat cleanlist` 137 @rm -f compllist 138 @rm -f cleanlist 139 140 depend:; @mkmf -f $(MAKEFILE) 141 142 echo:; @echo $(HDRS) $(SRCS) 143 144 index:; @ctags -wx $(HDRS) $(SRCS) 145 146 install: $(LIBRARY) 147 @echo Installing $(LIBRARY) in $(LIBDEST) 148 @if [ $(LIBDEST) != . ]; then rm -f $(LIBDEST)/$(LIBRARY); fi 149 @if [ $(LIBDEST) != . ]; then $(INSTALL) -f $(LIBRARY) $(LIBDEST); fi 150 @echo Installing header files in $(INCDEST)/$(LIBNAME) 151 @rm -rf $(INCDEST)/$(LIBNAME).old 152 @if [ -d $(INCDEST)/$(LIBNAME) ]; then \ 153 mv $(INCDEST)/$(LIBNAME) $(INCDEST)/$(LIBNAME).old; \ 154 fi 155 @mkdir $(INCDEST)/$(LIBNAME) 156 @chmod 755 $(INCDEST)/$(LIBNAME) 157 @cp *.h $(INCDEST)/$(LIBNAME) 158 @chmod 644 $(INCDEST)/$(LIBNAME)/* 159 160 install-local: $(LIBRARY) 161 @echo Installing $(LIBRARY) in $(LIBLOCAL) 162 @rm -f $(LIBLOCAL)/$(LIBRARY).old 163 @if [ -f $(LIBLOCAL)/$(LIBRARY) ]; then \ 164 mv $(LIBLOCAL)/$(LIBRARY) $(LIBLOCAL)/$(LIBRARY).old; \ 165 fi 166 @$(INSTALL) $(LIBRARY) $(LIBLOCAL) 167 @chmod 755 $(LIBLOCAL)/$(LIBRARY) 168 @echo Installing header files in $(INCLOCAL)/$(LIBNAME) 169 @rm -rf $(INCLOCAL)/$(LIBNAME).old 170 @if [ -d $(INCLOCAL)/$(LIBNAME) ]; then \ 171 mv $(INCLOCAL)/$(LIBNAME) $(INCLOCAL)/$(LIBNAME).old; \ 172 fi 173 @mkdir $(INCLOCAL)/$(LIBNAME) 174 @chmod 755 $(INCLOCAL)/$(LIBNAME) 175 @cp *.h $(INCLOCAL)/$(LIBNAME) 176 @chmod 755 $(INCLOCAL)/$(LIBNAME)/* 177 178 lint: $(LINTLIBS) $(HDRS) $(EXTHDRS) $(SRCS) 179 @$(LINT) $(LINTFLAGS) $(LINTLIBS) $(SRCS) 180 181 print:; @$(PRINT) $(PRINTFLAGS) $(HDRS) $(SRCS) | $(LP) $(LPFLAGS) 182 183 tags: $(HDRS) $(SRCS) 184 @ctags $(HDRS) $(SRCS) 185 186 touch:; @touch $(HDRS) $(SRCS) $(MAKEFILE) 187 188 update: $(LIBDEST)/$(LIBRARY) 189 190 d2u:; @d2u $(HDRS) $(SRCS) 191 192 c:; @$(MAKE) -f $(MAKEFILE) clean 193 cl:; @$(MAKE) -f $(MAKEFILE) clobber 194 i:; @$(MAKE) -f $(MAKEFILE) install 195 il:; @$(MAKE) -f $(MAKEFILE) install-local 196 l:; @$(MAKE) -f $(MAKEFILE) lint 197 t:; @$(MAKE) -f $(MAKEFILE) touch 198 u:; @$(MAKE) -f $(MAKEFILE) update 199 200 $(LIBRARY): $(OBJS) $(MAKEFILE) 201 @echo "Loading $(LIBRARY) ..." 202 @ar $(ARFLAGS) $(LIBRARY) $(OBJS) 203 @ranlib $(LIBRARY) 204 205 $(LIBDEST)/$(LIBRARY): $(HDRS) $(EXTHDRS) $(SRCS) $(LIBS) 206 @$(MAKE) -f $(MAKEFILE) install 207 208 .c.o:; $(CC) -I$(INCROOT) $(CFLAGS) $(COMPFLAGS) -c $< 209 .p.o:; pc $(PFLAGS) $(COMPFLAGS) -c $< 210 .f.o:; f77 $(FFLAGS) $(COMPFLAGS) -c $<