## ## ## $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 = 1 PATCH = 0 VERSION = $(MAJOR).$(MINOR).$(PATCH) #CC = icc #CPP = icpc CC = gcc CPP = g++ LEX = flex YACC = bison YFLAGS = -dt HOST = 'hostname' LIBDIR = ../../lib INCDIR = ../../include BINDIR = ../../bin LFLAGS = -+ #OPTIONS = -std=gnu99 -g -O3 -Wall -Werror-implicit-function-declaration \ # -march=pentium4 -mfpmath=sse -msse2 OPTIONS = -g #OPTIONS = -O3 INCLUDES = -I./ -I../../include #LINCLUDES = -L./ -L../../lib -L/usr/lib/mysql -L/usr/lib -L/usr/lib/netcdf-3 -L/users/gats/local/lib #LDFLAGS = -ldislnc -lcii -llinepak4-0_1 -lg2c -lrfftw -lfftw -lm_p -lc_p #LDFLAGS = -lgrace_np -lcii -llinepak4-0_1 -lg2c -lrfftw -lfftw -lm # I changed Linepak to Radtran link LDFLAGS = $(LDOPTIONS) \ -lAltitudeRegistration \ -lAuxDataInput \ -lRefracSimulation \ -lCO2ProfileSimulation \ -lTimeRegistration \ -lDetectorTimeShift \ -lLevel1DataOutput \ -lFPACorrection \ -lRefractionAngleCalc \ -lSignalCorrection \ -lSignalCorrectionNoDrift \ -lSolarSourceModel \ -lEffectiveLockdown \ -lRadtran \ -lSolarExtent \ -lZPTProfile \ -lLevel0DataInput \ -lConfig \ -lEvent \ -lInitialize \ -lInitializeEvent \ -lUtils \ -lGATS_DB \ -lGATS_Exception \ -lCMarkup \ -lgfortran \ -lgrace_np -lmysqlclient \ -lgsl -lgslcblas \ -lnetcdf #DEFINES = -DDEBUG=1 CFLAGS = $(OPTIONS) $(DEFINES) $(INCLUDES) PROG = SOFIELevel1 MAIN = SOFIELevel1.o CPPFLAGS = $(CFLAGS) ## ##----------------------------------------------------------------------- ## Objects: ##----------------------------------------------------------------------- ## #LIB = libConfig.$(VERSION).a #LIBMAJ = libConfig.a #SHLIB = libConfig.so.$(VERSION) #SHLIBMAJ = libConfig.so.$(MAJOR) INCFILE = SOFIELevel1.h OBJS = ## ##----------------------------------------------------------------------- ## 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: python: $(LIB) $(PyWRAP) $(CC) $(PyINC) $(CFLAGS) $(PyWRAP) -shared -o $(PyMOD) $(LIB) $(PROG): $(LIB) $(MAIN) $(OBJS) $(INCFILE) $(CPP) $(CFLAGS) -o $@ $(MAIN) $(LIB) $(LINCLUDES) $(LDFLAGS) prog: $(PROG) cp $(PROG) $(BINDIR) clean: rm $(PROG) $(LIB) *.o *~ #install: # cp $(LIB) $(LIBDIR)/$(LIB) # cp $(INCFILE) $(INCDIR)/$(INCFILE) # cd $(LIBDIR); ln -sf $(LIB) $(LIBMAJ) install: cp $(INCFILE) $(INCDIR)/ cp $(PROG) $(BINDIR)/ # cd $(LIBDIR); ln -sf $(LIB) $(LIBMAJ) ## ##----------------------------------------------------------------------- ## Dependencies: ##----------------------------------------------------------------------- ## #ConfigFile_wrap.c: ConfigFile.i # swig -python ConfigFile.i