## ## ## $Id$ ##----------------------------------------------------------------------- ## ## (c) Copyright 2002 by GATS, Inc., ## 11864 Canon Blvd, Suite 101, Newport News VA 23606 ## ## All Rights Reserved. No part of this software or publication may be ## reproduced, stored in a retrieval system, or transmitted, in any form ## or by any means, electronic, mechanical, photocopying, recording, or ## otherwise without the prior written permission of GATS, Inc. ## ##----------------------------------------------------------------------- ## ## Module: Makefile ## ## Author: John Burton ## ## Date: Wed Sep 25 15:28:00 2002 ## ##----------------------------------------------------------------------- ## ## Modification History: ## ## $Log$ ## ##----------------------------------------------------------------------- ## ##----------------------------------------------------------------------- ## Include Files: ##----------------------------------------------------------------------- ## ## ##----------------------------------------------------------------------- ## Defines and Macros: ##----------------------------------------------------------------------- ## MAJOR = 0 MINOR = 2 PATCH = 0 VERSION = $(MAJOR).$(MINOR).$(PATCH) CC = gcc CPP = g++ HOST = 'hostname' LIBDIR = ../../lib INCDIR = ../../include LFLAGS = -+ OPTIONS = -g -Wall -Wextra INCLUDES = -I./ -I../../include LINCLUDES = -L./ -L../../lib -L/usr/lib/ LDFLAGS = -lgrace_np -lgslcblas -lgsl -lConfig -lEvent #DEFINES = -DDEBUG=1 CFLAGS = $(OPTIONS) $(DEFINES) $(INCLUDES) PROG = TestSignalCorrection MAIN = TestSignalCorrection.cpp CPPFLAGS = $(CFLAGS) ## ##----------------------------------------------------------------------- ## Objects: ##----------------------------------------------------------------------- ## LIB = libSignalCorrection.$(VERSION).a LIBMAJ = libSignalCorrection.a SHLIB = libSignalCorrection.so.$(VERSION) SHLIBMAJ = libSignalCorrection.so.$(MAJOR) INCFILE = SignalCorrection.h OBJS = $(LIB)(SignalCorrection.o) \ $(LIB)(MultiSignal.o) \ $(LIB)(NonLinearity.o) \ $(LIB)(NonLinOutput.o) \ $(LIB)(SigCorrectInput.o) \ $(LIB)(SigCorrectOutput.o) \ $(LIB)(CheckSigInf.o) \ $(LIB)(PerformAudit.o) \ $(LIB)(ChannelSignals.o) \ $(LIB)(GenericFunctor.o) \ $(LIB)(NoOpAlgorithm.o ) \ $(LIB)(AlgorithmFactory.o) \ $(LIB)(SigCorrectConnEvent.o) \ $(LIB)(BalanceAlgorithm.o) \ $(LIB)(GainAlgorithm.o) \ $(LIB)(CalcDark.o) \ $(LIB)(ApplyDark.o) \ $(LIB)(DarkFunctor.o) \ $(LIB)(CalcDrift.o) \ $(LIB)(DetermDriftCorr.o) \ $(LIB)(DetermDiffDrift.o) \ $(LIB)(ApplyDrift.o)\ $(LIB)(DriftFunctor.o) \ $(LIB)(BalanceFunctor.o) \ $(LIB)(DarkSigCoder.o) \ $(LIB)(DriftCoder.o) \ $(LIB)(CalcDarkValue.o) \ $(LIB)(CalcDarkDiff.o) \ $(LIB)(Interp_Funct.o) \ $(LIB)(SetUpDrift.o) \ $(LIB)(ConvertAlt2Time.o) \ $(LIB)(NonLinFunctor.o) \ $(LIB)(RemoveNonLinAlgo.o) \ $(LIB)(RemoveNonLin.o) \ $(LIB)(SetUpNonLin.o) \ $(LIB)(PointingDriftScaling.o) \ $(LIB)(ApplyPointing.o) \ $(LIB)(PointingDriftFunctor.o) \ $(LIB)(PointingCoder.o) \ $(LIB)(BoxCarSmooth.o) \ $(LIB)(SolarSourceModeling.o) \ $(LIB)(CalcPointing.o) \ $(LIB)(FOV_Offset.o) \ $(LIB)(SetUpPointingCor.o) \ $(LIB)(PointingCutoff.o) \ $(LIB)(H2O_Response.o) \ $(LIB)(sofieH2O.o) \ $(LIB)(NO_Thermal.o) \ $(LIB)(mpfit.o) \ $(LIB)(sofieNO12.o) ## ##----------------------------------------------------------------------- ## Targets: ##----------------------------------------------------------------------- ## # #------------------------------------------------------------------------ # Target for converting a lex or yacc file to C code, then compiling and # adding it to an archive file #------------------------------------------------------------------------ # .l.a: $(LEX) $(LFLAGS) $< mv lex.yy.cc $*.cpp $(CPP) -c $(CFLAGS) -o $*.o $*.cpp $(AR) $(ARFLAGS) $@ $*.o rm -f $*.o # rm -f $*.cpp .y.a: $(YACC) $(YFLAGS) $< mv $*.tab.c $*.c $(CC) -c $(CFLAGS) $*.c $(AR) $(ARFLAGS) $@ $*.o rm -f $*.o rm -f $*.c # #------------------------------------------------------------------------ # Target for creating the main program #------------------------------------------------------------------------ # $(LIB): $(OBJS) $(DEFS) # ar rv $(LIB) $(OBJS) ranlib $(LIB) ln -sf $(LIB) $(LIBMAJ) lib: $(LIB) cp $(LIB) $(LIBDIR)/$(LIB) cp $(INCFILE) $(INCDIR)/ cd $(LIBDIR); ln -sf $(LIB) $(LIBMAJ) $(PROG): $(LIB) $(MAIN) $(OBJS) $(CPP) $(CFLAGS) -o $@ $(MAIN) $(LIB) $(LINCLUDES) $(LDFLAGS) init: cp $(INCFILE) $(INCDIR)/ clean: rm $(PROG) $(LIB) $(LIBMAJ) *.o *~ install: cp $(LIB) $(LIBDIR)/$(LIB) cp $(INCFILE) $(INCDIR)/ cd $(LIBDIR); ln -sf $(LIB) $(LIBMAJ) all: $(PROG) .SUFFIXES: .o .c .cpp .cc .c.o: $(CC) $(DEBUG) $(CFLAGS) -c $(INCLUDES) $< .cc.o: $(CPP) $(DEBUG) $(CFLAGS) -c $(INCLUDES) $< .cpp.o: $(CPP) $(DEBUG) $(CFLAGS) -c $(INCLUDES) $<