⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 Adaptive digital Filters in C++
💻
字号:
#
#	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 + -