From 9917079bd708deed1e797a60eb549b1586d60962 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Mon, 11 Sep 2023 23:38:47 +0100 Subject: [PATCH] gnu: Add WCSTools. * gnu/packages/astronomy.scm (wcstools): New variable. * gnu/packages/patches/wcstools-extend-makefiles.patch: New file. * gnu/local.mk: Add it. Signed-off-by: Mathieu Othacehe --- gnu/local.mk | 1 + gnu/packages/astronomy.scm | 33 ++ .../patches/wcstools-extend-makefiles.patch | 358 ++++++++++++++++++ 3 files changed, 392 insertions(+) create mode 100644 gnu/packages/patches/wcstools-extend-makefiles.patch diff --git a/gnu/local.mk b/gnu/local.mk index e397e1cb78..f20de7fa82 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2107,6 +2107,7 @@ dist_patch_DATA = \ %D%/packages/patches/wacomtablet-add-missing-includes.patch \ %D%/packages/patches/wacomtablet-qt5.15.patch \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ + %D%/packages/patches/wcstools-extend-makefiles.patch \ %D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \ %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \ diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index f6b3e5202d..7c665cba4a 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -754,6 +754,39 @@ (define-public wcslib-7.12 (base32 "1m3bx6gh5w3c7vvsqcki0x20mg8lilg13m0i8nh7za89w58dxy4w")))) (properties '((hidden? . #t))))) +(define-public wcstools + (package + (name "wcstools") + (version "3.9.7") + (source + (origin + (method url-fetch) + (uri (string-append + "http://tdc-www.harvard.edu/software/wcstools/wcstools-" + version ".tar.gz")) + (sha256 + (base32 "125hqzspvqrx6372smzsmxwg06ib2arjc5awnwnq53w1xdq6jpsj")) + (patches (search-patches "wcstools-extend-makefiles.patch")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;No tests provided. + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) + (home-page "http://tdc-www.harvard.edu/software/wcstools/") + (synopsis "Handle the WCS of a FITS image") + (description + "WCSTools is a set of software utilities, written in C, which create, +display and manipulate the world coordinate system of a FITS or IRAF image, +using specific keywords in the image header which relate pixel position within +the image to position on the sky. Auxillary programs search star catalogs and +manipulate images.") + (license license:gpl2+))) + (define-public weightwatcher (package (name "weightwatcher") diff --git a/gnu/packages/patches/wcstools-extend-makefiles.patch b/gnu/packages/patches/wcstools-extend-makefiles.patch new file mode 100644 index 0000000000..127bf0e670 --- /dev/null +++ b/gnu/packages/patches/wcstools-extend-makefiles.patch @@ -0,0 +1,358 @@ +From d702ed6d9da604e522625d08750636f680536743 Mon Sep 17 00:00:00 2001 +From: Sharlatan Hellseher +Date: Mon, 11 Sep 2023 21:12:53 +0100 +Subject: [PATCH] wcstools: Extend makefiles. + +This patch was partly sourced from Debian Astro: +- source: https://salsa.debian.org/debian-astro-team/wcstools/-/tree/master/ + - file: debian/patches/Rename-libwcs-to-libwcstools-to-avoid-conflicts-with-Mark.patch + - commit: 91eb27654fa096d6adebb26dab8d94f5fc2fc721 + +Additional changes applied: +- do not rename library from libwcs to libwcstools +- add 'install' target +- add PREFIX and VERSION to ease packaging process +--- + Makefile | 146 ++++++++++++++++++++++++++---------------------- + libwcs/Makefile | 22 ++++++-- + 2 files changed, 96 insertions(+), 72 deletions(-) + +diff --git a/Makefile b/Makefile +index cdc8a46..caadd97 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,12 +1,13 @@ +-CFLAGS= -g -D_FILE_OFFSET_BITS=64 +-CC= cc ++CC = cc + LIBWCS = libwcs/libwcs.a + LIBS = $(LIBWCS) -lm +-#LIBS = $(LIBWCS) -lm -lnsl -lsocket ++ ++PREFIX ?= /usr + BIN = bin ++ + .PRECIOUS: ${LIBWCS} ${LIBNED} + .c.o: +- $(CC) -c $(CFLAGS) $(DEFS) $< ++ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(DEFS) $< + + all: cphead delwcs delhead edhead fixpix gethead i2f imcat imhead immatch \ + imrot imsize imstar imwcs scat sethead addpix getpix setpix sky2xy \ +@@ -16,196 +17,205 @@ all: cphead delwcs delhead edhead fixpix gethead i2f imcat imhead immatch \ + isfile simpos bincat + + addpix: addpix.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/addpix addpix.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/addpix addpix.c $(LIBS) + + bincat: bincat.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/bincat bincat.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/bincat bincat.c $(LIBS) + + char2sp: char2sp.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/char2sp char2sp.c $(LIBWCS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/char2sp char2sp.c $(LIBWCS) + + conpix: conpix.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/conpix conpix.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/conpix conpix.c $(LIBS) + + cphead: cphead.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/cphead cphead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/cphead cphead.c $(LIBS) + + crlf: crlf.c +- $(CC) $(CFLAGS) -o $(BIN)/crlf crlf.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/crlf crlf.c + + delwcs: delwcs.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/delwcs delwcs.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/delwcs delwcs.c $(LIBS) + + delhead: delhead.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/delhead delhead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/delhead delhead.c $(LIBS) + + edhead: edhead.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/edhead edhead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/edhead edhead.c $(LIBS) + + filename: filename.c +- $(CC) $(CFLAGS) -o $(BIN)/filename filename.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/filename filename.c + + filedir: filedir.c +- $(CC) $(CFLAGS) -o $(BIN)/filedir filedir.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/filedir filedir.c + + fileroot: fileroot.c +- $(CC) $(CFLAGS) -o $(BIN)/fileroot fileroot.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/fileroot fileroot.c + + filext: filext.c +- $(CC) $(CFLAGS) -o $(BIN)/filext filext.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/filext filext.c + + fixhead: fixhead.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/fixhead fixhead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/fixhead fixhead.c $(LIBS) + + fixpix: fixpix.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/fixpix fixpix.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/fixpix fixpix.c $(LIBS) + + getcol: getcol.c $(LIBWCS) libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/getcol getcol.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getcol getcol.c $(LIBS) + + getdate: getdate.c $(LIBWCS) libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/getdate getdate.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getdate getdate.c $(LIBS) + + gethead: gethead.c $(LIBWCS) libwcs/wcs.h libwcs/fitsfile.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/gethead gethead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/gethead gethead.c $(LIBS) + + getfits: getfits.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/getfits getfits.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getfits getfits.c $(LIBS) + + getpix: getpix.c $(LIBWCS) libwcs/wcs.h libwcs/fitsfile.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/getpix getpix.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getpix getpix.c $(LIBS) + + gettab: gettab.c $(LIBWCS) libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/gettab gettab.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/gettab gettab.c $(LIBS) + + httpget: httpget.c $(LIBWCS) libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/httpget httpget.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/httpget httpget.c $(LIBS) + + htmlsp: htmlsp.c +- $(CC) $(CFLAGS) -o $(BIN)/htmlsp htmlsp.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/htmlsp htmlsp.c + + i2f: i2f.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/i2f i2f.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/i2f i2f.c $(LIBS) + + imcat: imcat.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/imcat imcat.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imcat imcat.c $(LIBS) + + imfill: imfill.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/imfill imfill.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imfill imfill.c $(LIBS) + + imresize: imresize.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/imresize imresize.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imresize imresize.c $(LIBS) + + imsmooth: imsmooth.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/imsmooth imsmooth.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imsmooth imsmooth.c $(LIBS) + + imhead: imhead.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/imhead imhead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imhead imhead.c $(LIBS) + + imrot: imrot.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/imrot imrot.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imrot imrot.c $(LIBS) + + imsize: imsize.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/imsize imsize.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imsize imsize.c $(LIBS) + + imstack: imstack.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/imstack imstack.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imstack imstack.c $(LIBS) + + imextract: imextract.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/imextract imextract.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imextract imextract.c $(LIBS) + + imstar: imstar.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h libwcs/lwcs.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/imstar imstar.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imstar imstar.c $(LIBS) + + isfile: isfile.c $(LIBWCS) libwcs/fitshead.h +- $(CC) $(CFLAGS) -o $(BIN)/isfile isfile.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isfile isfile.c $(LIBS) + + isfits: isfits.c $(LIBWCS) libwcs/fitshead.h +- $(CC) $(CFLAGS) -o $(BIN)/isfits isfits.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isfits isfits.c $(LIBS) + + isnum: isnum.c $(LIBWCS) libwcs/fitshead.h +- $(CC) $(CFLAGS) -o $(BIN)/isnum isnum.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isnum isnum.c $(LIBS) + + isdate: isdate.c $(LIBWCS) libwcs/fitshead.h +- $(CC) $(CFLAGS) -o $(BIN)/isdate isdate.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isdate isdate.c $(LIBS) + + isimlist: isimlist.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/isimlist isimlist.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isimlist isimlist.c $(LIBS) + + isrange: isrange.c +- $(CC) $(CFLAGS) -o $(BIN)/isrange isrange.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isrange isrange.c + + imwcs: imwcs.c $(LIBWCS) libwcs/fitsfile.h libwcs/lwcs.h +- $(CC) $(CFLAGS) -o $(BIN)/imwcs imwcs.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imwcs imwcs.c $(LIBS) + + immatch: immatch.c $(LIBWCS) libwcs/fitsfile.h libwcs/lwcs.h +- $(CC) $(CFLAGS) -o $(BIN)/immatch immatch.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/immatch immatch.c $(LIBS) + + immwcs: immwcs.c $(LIBWCS) libwcs/fitsfile.h libwcs/lwcs.h +- $(CC) $(CFLAGS) -o $(BIN)/immwcs immwcs.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/immwcs immwcs.c $(LIBS) + + keyhead: keyhead.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/keyhead keyhead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/keyhead keyhead.c $(LIBS) + + matchcat: matchcat.c $(LIBWCS) libwcs/wcscat.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/matchcat matchcat.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/matchcat matchcat.c $(LIBS) + + newfits: newfits.c $(LIBWCS) libwcs/fitshead.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/newfits newfits.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/newfits newfits.c $(LIBS) + + remap: remap.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/remap remap.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/remap remap.c $(LIBS) + + scat: scat.c $(LIBWCS) libwcs/wcscat.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/scat scat.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/scat scat.c $(LIBS) + + sethead: sethead.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h +- $(CC) $(CFLAGS) -o $(BIN)/sethead sethead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sethead sethead.c $(LIBS) + + setpix: setpix.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/setpix setpix.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/setpix setpix.c $(LIBS) + + sky2xy: sky2xy.c $(LIBWCS) libwcs/wcs.h libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/sky2xy sky2xy.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sky2xy sky2xy.c $(LIBS) + + skycoor: skycoor.c $(LIBWCS) libwcs/wcs.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/skycoor skycoor.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/skycoor skycoor.c $(LIBS) + + sp2char: sp2char.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/sp2char sp2char.c $(LIBWCS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sp2char sp2char.c $(LIBWCS) + + subpix: subpix.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/subpix subpix.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/subpix subpix.c $(LIBS) + + sumpix: sumpix.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/sumpix sumpix.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sumpix sumpix.c $(LIBS) + + wcshead: wcshead.c $(LIBWCS) libwcs/fitsfile.h +- $(CC) $(CFLAGS) -o $(BIN)/wcshead wcshead.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/wcshead wcshead.c $(LIBS) + + xy2sky: xy2sky.c $(LIBWCS) libwcs/wcs.h libwcs/wcscat.h +- $(CC) $(CFLAGS) -o $(BIN)/xy2sky xy2sky.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/xy2sky xy2sky.c $(LIBS) + + simpos: simpos.c libwcs/libwcs.a +- $(CC) $(CFLAGS) -o $(BIN)/simpos simpos.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/simpos simpos.c $(LIBS) + + gsc2cat: gsc2cat.c $(LIBWCS) +- $(CC) $(CFLAGS) -o $(BIN)/gsc2cat gsc2cat.c $(LIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/gsc2cat gsc2cat.c $(LIBS) + + tmcat: tmcat.c +- $(CC) $(CFLAGS) -o $(BIN)/tmcat tmcat.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/tmcat tmcat.c + + tmcate: tmcate.c +- $(CC) $(CFLAGS) -o $(BIN)/tmcate tmcate.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/tmcate tmcate.c + + $(LIBWCS): libwcs/*.c libwcs/*.h +- cd libwcs; make ++ $(MAKE) CC=$(CC) -C libwcs ++ ++install: ++ test -e $(DESTDIR)$(PREFIX)/bin || mkdir -p $(DESTDIR)$(PREFIX)/bin ++ test -e $(DESTDIR)$(PREFIX)/include || mkdir -p $(DESTDIR)$(PREFIX)/include/wcstools ++ test -e $(DESTDIR)$(PREFIX)/lib/wcstools || mkdir -p $(DESTDIR)$(PREFIX)/lib/wcstools ++ test -e $(DESTDIR)$(PREFIX)/share/wcstools || mkdir -p $(DESTDIR)$(PREFIX)/share/wcstools ++ install ./bin/* $(DESTDIR)$(PREFIX)/bin ++ install ./libwcs/*.so $(DESTDIR)$(PREFIX)/lib/wcstools ++ install ./libwcs/*.so.* $(DESTDIR)$(PREFIX)/lib/wcstools + + objclean: +- cd libwcs; make clean ++ $(MAKE) -C libwcs clean + + binclean: + rm -f ./bin/* + + clean: +- make objclean; make binclean ++ objclean binclean +diff --git a/libwcs/Makefile b/libwcs/Makefile +index ec2fae0..038ec61 100644 +--- a/libwcs/Makefile ++++ b/libwcs/Makefile +@@ -1,5 +1,10 @@ +-CFLAGS= -g -D_FILE_OFFSET_BITS=64 +-CC= cc ++CFLAGS+= -fPIC ++ ++VERSION?= 3.9.7 ++VERSION_PARTS= $(subst ., ,$(VERSION)) ++VERSION_MAJOR= $(word 1,$(VERSION_PARTS)) ++VERSION_MINOR= $(word 2,$(VERSION_PARTS)) ++VERSION_MICRO= $(word 3,$(VERSION_PARTS)) + + OBJS = imsetwcs.o imgetwcs.o matchstar.o findstar.o daoread.o wcscon.o \ + fitswcs.o wcsinit.o wcs.o ty2read.o webread.o tmcread.o \ +@@ -11,10 +16,19 @@ OBJS = imsetwcs.o imgetwcs.o matchstar.o findstar.o daoread.o wcscon.o \ + sortstar.o platefit.o iget.o fileutil.o \ + wcslib.o lin.o cel.o proj.o sph.o wcstrig.o distort.o poly.o + +-libwcs.a: $(OBJS) ++all: libwcs.so.$(VERSION) libwcs.a + ar rv $@ $? + ranlib $@ + ++libwcs.a: $(OBJS) ++ ar rv $@ $? ++ ranlib $@ ++ ++libwcs.so.$(VERSION): $(OBJS) ++ $(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname,libwcs.so.$(VERSION_MAJOR) $? -lm ++ ln -s libwcs.so.$(VERSION) libwcs.so.$(VERSION_MAJOR) ++ ln -s libwcs.so.$(VERSION) libwcs.so ++ + actread.o: fitsfile.h wcscat.h wcs.h fitshead.h wcslib.h + binread.o: wcscat.h wcs.h fitshead.h wcslib.h + ctgread.o: wcscat.h wcs.h fitshead.h wcslib.h +@@ -67,4 +81,4 @@ webread.o: wcscat.h + worldpos.o: wcs.h fitshead.h wcslib.h + + clean: +- rm -f *.a *.o ++ rm -f *.a *.o *.so *.so.* +-- +2.41.0 +