📄 makefile
字号:
#
# A Makefile for Adaptive Filters
#
#
HOME = /usr/skip
#
MACHINE = MIPS
#
CLIB = $(HOME)/clib
CLASSDIR = $(HOME)/classlib
RECIPES = $(HOME)/recipes
FILTERS = $(HOME)/filters
#
#
#
#
#
#CC = gcc
CC = cc
CFLAGS = -O -I$(HOME)
#
CPP = CC
CPFLAGS = $(CFLAGS) -D$(MACHINE)
#
#
# The C++ suffix, set this appropriately
C++ = c++
#
#
ARGFILES = getargs.o stoi.o
#
CLASSES = classes
#
#
# If the class library code is not in an actual library comment out the
# next line and uncomment the two that follow it
CLASSLIB = -L$(LIB_DIR) -l$(CLASSES)
#CLASSLIB = matrix.o lumatrix.o backs.o barray.o barray2d.o vector.o
#LIB_CODE = $(CLASSLIB)
#
# For whatever else you might need
#EXTRA_LIBS = -lbsd
#
#
#--------------------------------------------
#
#
FILTERDEFS = butrwrth.hpp convfilter.hpp dereverb.hpp firfilter.hpp fffilt.hpp \
iirfilter.hpp median.hpp reject.hpp dfilter.hpp mixer.hpp \
runmean.hpp transfer.hpp
FILTEROBJS = butrwrth.o convfilter.o dereverb.o firfilter.o fffilt.o iirfilter.o \
median.o reject.o runmean.o transfer.o
#
#
libfilters.a: $(FILTEROBJS) $(FILTERDEFS)
-rm libfilters.a
ar rcu libfilters.a $(FILTEROBJS)
ranlib libfilters.a
#
#
lmstest: lmstest.c++ lmsfilter.o $(ARGFILES) $(LIB_CODE)
$(CPP) $(CPFLAGS) -o lmstest lmstest.c++ lmsfilter.o $(ARGFILES) -L$(LIB_DIR) -l$(FILTERS) -l$(CLASSLIB) -lcomplex -lm
levinson: levinson.c $(ARGFILES)
$(CC) -o levinson levinson.c $(ARGFILES) -lm
rm levinson.o
lms: lms.c $(ARGFILES)
$(CC) -o lms lms.c $(ARGFILES) -lm
# rm lms.o
lsl: lsl.c $(ARGFILES)
$(CC) -o lsl lsl.c $(ARGFILES)
rm lsl.o
lsltest: lsltest.c++ lslfilter.o $(ARGFILES) $(LIB_DIR)/lib$(CLASSLIB).a
$(CPP) $(CPFLAGS) -o lsltest lsltest.c++ lslfilter.o $(ARGFILES) -L$(LIB_DIR) -l$(CLASSLIB) -lm
rlssqrt: rlssqrt.c rands.o $(CLIB)/diag.o
$(CC) -o rlssqrt rlssqrt.c rands.o $(CLIB)/diag.o $(ARGFILES)
rm rlssqrt.o
#
#
#
#
# extra routines
#
lmsfilter.o: lmsfilter.c++ lmsfilter.hpp $(FILTERS)/firfilter.hpp $(FILTERS)/dfilter.hpp
firfilter.o: $(FILTERS)/firfilter.c++ $(FILTERS)/firfilter.hpp $(FILTERS)/dfilter.hpp $(FILTERS)/convfilter.hpp $(CLASSDIR)/barray.hpp
$(CPP) $(CPFLAGS) -c $(FILTERS)/firfilter.c++
convfilter.o: $(FILTERS)/convfilter.c++ $(FILTERS)/convfilter.hpp $(FILTERS)/dfilter.hpp $(CLASSDIR)/barray.hpp
$(CPP) $(CPFLAGS) -c $(FILTERS)/convfilter.c++
getargs.o: $(CLIB)/getargs.c
$(CC) $(CFLAGS) -c $(CLIB)/getargs.c
stoi.o: $(CLIB)/stoi.c
$(CC) $(CFLAGS) -c $(CLIB)/stoi.c
#
#
#
ADAPTIVE_SOURCES = Read.me Makefile lmsfilter.hpp lslfilter.hpp filterfig.ps \
filterdoc.ps pogo.dat drift.dat
TRANSIENT_SOURCES = dfilter.hpp convfilter.hpp convfilter.cpp firfilter.hpp \
firfilter.cpp lmsfilter.cpp lslfilter.cpp lsltest.cpp \
lmstest.cpp
CLASSLIB_SOURCES = barray.hpp barray.cpp scalar.hpp standio.hpp standio.cpp \
heartbeat.hpp heartbeat.cpp getargs.c stoi.c getargs.h
kit: adaptive.sh
adaptive.sh: $(ADAPTIVE_SOURCES) lmsfilter.hxx lslfilter.hxx $(TRANSIENT_SOURCES) $(CLASSLIB_SOURCES)
mv lmsfilter.hpp lmsfilter.tmp
mv lmsfilter.hxx lmsfilter.hpp
mv lslfilter.hpp lslfilter.tmp
mv lslfilter.hxx lslfilter.hpp
shar2 -v -c -l63 -oadaptive.sh $(ADAPTIVE_SOURCES) $(TRANSIENT_SOURCES) \
$(CLASSLIB_SOURCES)
tar covhf adaptive.tar $(ADAPTIVE_SOURCES) $(TRANSIENT_SOURCES) \
$(CLASSLIB_SOURCES)
compress adaptive.tar
mv lslfilter.tmp lslfilter.hpp
rm -f $(TRANSIENT_SOURCES) $(CLASSLIB_SOURCES)
#
#
# Make generic local copies of things
#
dfilter.hpp: $(FILTERS)/dfilter.hpp
cp $(FILTERS)/dfilter.hpp dfilter.hpp
convfilter.hpp: $(FILTERS)/convfilter.hpp
sed s/"<filters\/"/"<"/g < $(FILTERS)/convfilter.hpp > convfilter.hpp
convfilter.cpp: $(FILTERS)/convfilter.c++
sed s/"<filters\/"/"<"/g < $(FILTERS)/convfilter.c++ > convfilter.cpp
firfilter.hpp: $(FILTERS)/firfilter.hpp
sed s/"<filters\/"/"<"/g < $(FILTERS)/firfilter.hpp | \
sed s/"<classlib\/"/"<"/g > firfilter.hpp
firfilter.cpp: $(FILTERS)/firfilter.c++
sed s/"<filters\/"/"<"/g < $(FILTERS)/firfilter.c++ > firfilter.cpp
barray.cpp: $(CLASSDIR)/barray.c++
sed s/"<classlib\/"/"<"/g < $(CLASSDIR)/barray.c++ > barray.cpp
barray.hpp: $(CLASSDIR)/barray.hpp
sed s/"<classlib\/"/"<"/g < $(CLASSDIR)/barray.hpp > barray.hpp
getargs.c: $(CLIB)/getargs.c
cp $(CLIB)/getargs.c getargs.c
getargs.h: $(CLIB)/getargs.h
cp $(CLIB)/getargs.h getargs.h
heartbeat.hpp: $(CLASSDIR)/heartbeat.hpp
cp $(CLASSDIR)/heartbeat.hpp heartbeat.hpp
heartbeat.cpp: $(CLASSDIR)/heartbeat.c++
sed s/"<classlib\/"/"<"/g < $(CLASSDIR)/heartbeat.c++ > heartbeat.cpp
scalar.hpp: $(CLASSDIR)/scalar.hpp
sed s/"<classlib\/"/"<"/g < $(CLASSDIR)/scalar.hpp > scalar.hpp
standio.hpp: $(CLASSDIR)/standio.hpp
cp $(CLASSDIR)/standio.hpp standio.hpp
standio.cpp: $(CLASSDIR)/standio.c++
sed s/"<classlib\/"/"<"/g < $(CLASSDIR)/standio.c++ > standio.cpp
stoi.c: $(CLIB)/stoi.c
cp $(CLIB)/stoi.c stoi.c
lmsfilter.hxx: lmsfilter.hpp
sed s/"<filters\/"/"<"/g < lmsfilter.hpp > lmsfilter.hxx
lmsfilter.cpp: lmsfilter.c++
sed s/"<filters\/adaptive\/"/"<"/g < lmsfilter.c++ > lmsfilter.cpp
lslfilter.hxx: lslfilter.hpp
sed s/"<filters\/"/"<"/g < lslfilter.hpp > lslfilter.hxx
lslfilter.cpp: lslfilter.c++
sed s/"<filters\/adaptive\/"/"<"/g < lslfilter.c++ > lslfilter.cpp
lsltest.cpp: lsltest.c++
sed s/"<classlib\/"/"<"/g < lsltest.c++ | \
sed s/"<clib\/"/"<"/g > lsltest.cpp
lmstest.cpp: lmstest.c++
sed s/"<classlib\/"/"<"/g < lmstest.c++ | \
sed s/"<clib\/"/"<"/g > lmstest.cpp
#
# generic
#
.SUFFIXES :
.SUFFIXES : .cpp .cxx .c++ .cc .c .h .o
.cpp.o:
$(CPP) $(CPFLAGS) -c $*.cpp
.cxx.o:
$(CPP) $(CPFLAGS) -c $*.cxx
.c++.o:
$(CPP) $(CPFLAGS) -c $*.c++
.cc.o:
$(CPP) $(CPFLAGS) -c $*.cc
.c.o:
$(CC) $(CFLAGS) -c $*.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -