# # qfits Makefile # include config.make AR = ar ARFLAGS = rc RM = rm -f CP = cp -f # Implicit rules SUFFIXES = .o .c .h .a .so .sl COMPILE.c=$(CC) $(CFLAGS) $(FTRACE) -Iinclude $(RELOC) -c .c.o: @(echo "compiling $< ...") @($(COMPILE.c) -o $@ $<) SRCS = src/byteswap.c \ src/cache.c \ src/expkey.c \ src/fits_h.c \ src/fits_md5.c \ src/fits_p.c \ src/fits_rw.c \ src/ieeefp-compat.c \ src/md5.c \ src/pixio.c \ src/qerror.c \ src/simple.c \ src/t_iso8601.c \ src/tfits.c \ src/version.c \ src/xmemory.c OBJS = $(SRCS:.c=.o) default: all all: $(TARGETS) progs static: lib/libqfits.a dynamic: lib/libqfits.$(DYNSUF) lib/libqfits.a: $(OBJS) @(echo "Building static library...") @($(AR) $(ARFLAGS) lib/libqfits.a $(OBJS)) lib/libqfits.$(DYNSUF): $(OBJS) @(echo "Building shared library...") @(ld $(SHARED) -o lib/libqfits.$(DYNSUF) $(OBJS)) PROGS = bin/dfits \ bin/dtfits \ bin/fitsmd5 \ bin/fitsort \ bin/flipx \ bin/hierarch28 \ bin/iofits \ bin/replacekey install: @(echo "Installing library in " $(prefix)) mkdir -p $(prefix) mkdir -p $(prefix)/lib mkdir -p $(prefix)/include mkdir -p $(prefix)/bin $(CP) include/qfits.h $(prefix)/include $(CP) include/xmemory.h $(prefix)/include $(CP) lib/libqfits.a $(prefix)/lib $(CP) $(PROGS) $(prefix)/bin clean: $(RM) $(OBJS) veryclean: $(RM) $(OBJS) lib/libqfits.a lib/libqfits.$(DYNSUF) $(RM) -r build cd test ; $(MAKE) veryclean ; cd .. cd main ; $(MAKE) veryclean ; cd .. cd saft ; $(MAKE) veryclean ; cd .. # # Build example and stand-alone programs # progs: cd main ; $(MAKE) ; cd .. cd saft ; $(MAKE) ; cd .. # # Building qfits as a Python module. # # type: # % python setup.py build # % python setup.py install # docs: @(echo "Building HTML documentation...") @(cd doc ; $(MAKE)) tests: cd test ; $(MAKE)