1#----------------------------------------------------------------------------- 2# GNU makefile for building WCSLIB 7.7 and its test suite. 3# 4# Summary of the main targets 5# --------------------------- 6# build: Build the library. 7# 8# clean: Delete intermediate object files. 9# 10# cleaner: clean, and also delete the test executables. 11# 12# cleanest (distclean or realclean): cleaner, and also delete the object 13# library and the C source files generated by 'flex'. 14# 15# check (or test): Compile and run the test programs. By default they are 16# executed in batch mode, and non-graphical tests only report 17# "PASS" on success. Use 18# 19# make MODE=interactive check 20# 21# to run them interactively with full diagnostic output. To skip 22# graphical tests even if PGPLOT is available, use 23# 24# make CHECK=nopgplot check 25# 26# tests: Compile the test programs (but don't run them). 27# 28# Notes: 29# 1) If you need to make changes then preferably modify ../makedefs.in 30# instead and re-run configure. 31# 32# Author: Mark Calabretta, Australia Telescope National Facility, CSIRO. 33# http://www.atnf.csiro.au/people/Mark.Calabretta 34# $Id: GNUmakefile,v 7.7 2021/07/12 06:36:49 mcalabre Exp $ 35#----------------------------------------------------------------------------- 36# Get configure settings. 37SUBDIR := C 38include ../makedefs 39 40FLEXMODS := $(patsubst %.l,%.c,$(wildcard *.l)) 41MODULES := $(sort \ 42 $(patsubst %.c,%.o, \ 43 $(filter-out getwcstab.c,$(wildcard *.c)) $(FLEXMODS))) 44 45ifeq "$(WCSTRIG)" "MACRO" 46 CPPFLAGS += -DWCSTRIG_MACRO 47 MODULES := $(filter-out wcstrig.o, $(MODULES)) 48else 49 ifeq "$(WCSTRIG)" "NATIVE" 50 MODULES := $(filter-out wcstrig.o, $(MODULES)) 51 endif 52endif 53 54LIBLOCK := lib.lock 55 56# For building the sharable library. 57PICLIB := libwcs-PIC.a 58 59CPPFLAGS += -I. -I.. 60 61vpath %.c test 62vpath %.h .. 63vpath %.in .. 64 65 66# For building and exercising the test suite 67# ------------------------------------------ 68# Test programs that don't require CFITSIO or PGPLOT... 69TEST_N := tlin tdis1 tdis2 tlog tprj1 tsph tsphdpa tspx ttab1 twcs twcssub \ 70 tpih1 tbth1 tfitshdr tunits twcsfix twcscompare 71 72# ...and unofficial test programs. 73TEST_n := tdisiter tspcaips tspcspxe tspctrne twcs_locale 74 75# Test programs that require CFITSIO (they don't need PGPLOT). 76TEST_C := twcstab twcshdr tdis3 twcslint 77 78# Test programs that require PGPLOT but not PGSBOX. 79TEST_P := tspc tprj2 tcel1 tcel2 ttab2 ttab3 twcsmix 80 81# Test programs that require PGSBOX (and therefore PGPLOT). 82TEST_B := tpih2 83 84# Test program for POSIX threads (code development only). 85TEST_T := tpthreads 86 87# Test programs that are compiled but not automatically exercised. 88TEST_X := tsphdpa twcshdr 89 90 91TESTS := $(TEST_N) 92 93# Do we have CFITSIO? 94DO_CFITSIO := 1 95ifeq "$(CFITSIOINC)" "" 96 DO_CFITSIO := 0 97else ifeq "$(CFITSIOLIB)" "" 98 DO_CFITSIO := 0 99endif 100 101ifeq "$(DO_CFITSIO)" "1" 102 # Yes, add test programs that use it. 103 TESTS += $(TEST_C) 104 CFITSIO_CFLAGS := $(filter-out -Wpadded,$(CFLAGS)) 105else 106 # No, amend TEST_X. 107 TEST_X := $(filter-out $(TEST_C),$(TEST_X)) 108endif 109 110# Do we have PGPLOT? 111DO_PGPLOT := 0 112ifneq "$(CHECK)" "nopgplot" 113 DO_PGPLOT := 1 114 ifeq "$(PGPLOTINC)" "" 115 DO_PGPLOT := 0 116 else ifeq "$(PGPLOTLIB)" "" 117 DO_PGPLOT := 0 118 endif 119 120 ifeq "$(DO_PGPLOT)" "1" 121 # Yes, add test programs that use it. 122 TESTS += $(TEST_P) $(TEST_B) 123 else 124 # No, amend TEST_X. 125 TEST_X := $(filter-out $(TEST_P) $(TEST_B),$(TEST_X)) 126 endif 127endif 128 129# Remove tests that aren't automatically exercised. 130TESTS := $(filter-out $(TEST_X), $(TESTS)) 131 132PGSBOXLIB := ../pgsbox/libpgsbox-$(LIBVER).a 133 134ADDRE := 0x[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]* 135 136# Pattern rules 137#-------------- 138 139ifeq "$(FLEX)" "flex" 140 %.c : %.l 141 -@ echo '' 142 -@ $(RM) $@ 143 $(FLEX) $(FLFLAGS) -t $< | sed -e 's/^[ ]*#/#/' > $@ 144else 145 %.c : %.l 146 -@ echo '' 147 -@ $(RM) $@ 148 cp flexed/$@ . 149endif 150 151$(WCSLIB)(%.o) : %.c 152 -@ echo '' 153 $(CC) $(CPPFLAGS) $(CFLAGS) -c $< 154 @ if [ ! -f $(LIBLOCK) ] ; then \ 155 echo $(AR) r$(ARFLAGS) $(WCSLIB) $% ; \ 156 $(AR) r$(ARFLAGS) $(WCSLIB) $% ; \ 157 $(RM) $% ; \ 158 fi 159 160$(PICLIB)(%.o) : $(WCSLIB)(%.o) 161 -@ echo '' 162 $(CC) $(CPPFLAGS) $(CFLAGS) $(SHRFLAGS) -c $(%:.o=.c) 163 @ if [ ! -f $(LIBLOCK) ] ; then \ 164 echo $(AR) r$(ARFLAGS) $(PICLIB) $% ; \ 165 $(AR) r$(ARFLAGS) $(PICLIB) $% ; \ 166 $(RM) $% ; \ 167 fi 168 169# May need to create temporary symlinks to include file directories for 170# CFITSIO, etc. for the following two rules. 171%.i : %.c 172 -@ echo '' 173 -@ $(RM) $@ 174 $(CPP) $(CPPFLAGS) $(CFLAGS) $< > $@ 175 176# Print out include file dependencies. 177%.d : %.c 178 -@ echo '' 179 -@ $(CPP) $(CPPFLAGS) $(CFLAGS) $< | \ 180 sed -n -e 's|^# 1 "\([^/].*\.h\)".*|\1|p' | \ 181 sed -e 's|.*/||' | \ 182 sort -u 183 184%.fits : test/%.keyrec ../utils/tofits 185 ../utils/tofits < $< > $@ 186 187# Use 'make VALGRIND=T run_%' to have VALGRIND defined (from flavours). 188# Use 'make VALGRIND=T check < /dev/null |& tee check_valgrind.log' to run 189# valgrind on the lot. 190run_% : % 191 -@ echo '' 192 -@ $(TIMER) 193 @ if [ '$(MODE)' = interactive -o '$(VALGRIND)' ] ; then \ 194 printf 'Press <CR> to run $<: ' ; \ 195 read DUMMY ; \ 196 fi ; \ 197 if [ '$(VALGRIND)' ] ; then \ 198 if [ '$<' = tunits ] ; then \ 199 $(VALGRIND) ./$< < test/units_test ; \ 200 else \ 201 $(VALGRIND) ./$< ; \ 202 fi ; \ 203 else \ 204 if [ '$(filter $<, $(TEST_N) $(TEST_C))' ] ; then \ 205 if [ '$<' = tunits ] ; then \ 206 if [ '$(MODE)' = interactive ] ; then \ 207 ./$< < test/units_test 2>&1 | tee $<.out ; \ 208 else \ 209 ./$< < test/units_test > $<.out 2>&1 ; \ 210 fi ; \ 211 else \ 212 if [ '$(MODE)' = interactive ] ; then \ 213 ./$< < /dev/null 2>&1 | tee $<.out ; \ 214 else \ 215 ./$< < /dev/null > $<.out 2>&1 ; \ 216 fi ; \ 217 fi ; \ 218 if grep 'FAIL:' $<.out > /dev/null ; then \ 219 if [ '$(MODE)' != interactive ] ; then \ 220 head -2 $<.out ; \ 221 grep 'FAIL:' $<.out ; \ 222 fi ; \ 223 echo 'FAIL: C/$<' >> test_results ; \ 224 elif grep 'PASS:' $<.out > /dev/null ; then \ 225 if [ '$(MODE)' != interactive ] ; then \ 226 head -2 $<.out ; \ 227 grep 'PASS:' $<.out ; \ 228 fi ; \ 229 echo 'PASS: C/$<' >> test_results ; \ 230 elif [ -f 'test/$<.out' ] ; then \ 231 trap 'rm -f run_$<.tmp' 0 1 2 3 15 ; \ 232 sed -e 's/$(ADDRE)/0x<address>/g' $<.out > \ 233 run_$<.tmp ; \ 234 mv -f run_$<.tmp $<.out ; \ 235 if cmp -s $<.out test/$<.out ; then \ 236 if [ '$(MODE)' != interactive ] ; then \ 237 head -2 $<.out ; \ 238 fi ; \ 239 echo 'PASS: Output agrees with C/test/$<.out' ; \ 240 echo 'PASS: C/$<' >> test_results ; \ 241 else \ 242 if [ '$(MODE)' != interactive ] ; then \ 243 cat $<.out ; \ 244 fi ; \ 245 echo '' ; \ 246 echo 'FAIL: Output disagrees with C/test/$<.out' ; \ 247 echo 'FAIL: C/$<' >> test_results ; \ 248 fi ; \ 249 elif [ '$(MODE)' != interactive ] ; then \ 250 cat $<.out ; \ 251 echo 'FAIL: C/$<' >> test_results ; \ 252 fi ; \ 253 elif [ '$(MODE)' = interactive ] ; then \ 254 ./$< ; \ 255 else \ 256 if [ '$<' = tcel2 ] ; then \ 257 echo N | ./$< ; \ 258 else \ 259 ./$< < /dev/null 2>&1 ; \ 260 fi ; \ 261 fi ; \ 262 fi 263 -@ echo '' 264 265# Static and static pattern rules 266#-------------------------------- 267 268.PHONY : build check clean cleaner cleanest distclean install lib realclean \ 269 run_% test tests uninstall 270 271build : lib 272 273lib : $(FLEXMODS) 274 -@ echo '' 275 -@ echo 'Building WCSLIB C library...' 276 @ $(MAKE) --no-print-directory $(WCSLIB) 277 278$(WCSLIB) : $(LIBLOCK) $(MODULES:%=$(WCSLIB)(%)) 279 -@ echo '' 280 @ set *.o ; \ 281 if [ "$$1" != "*.o" ] ; then \ 282 echo $(AR) r$(ARFLAGS) $@ *.o ; \ 283 $(AR) r$(ARFLAGS) $@ *.o ; \ 284 echo $(RANLIB) $@ ; \ 285 $(RANLIB) $@ ; \ 286 $(RM) *.o ; \ 287 fi 288 -@ $(RM) $< 289 @ if [ "$(SHRLIB)" != "" ] ; then \ 290 $(MAKE) --no-print-directory $(SHRLIB) ; \ 291 fi 292 293$(SHRLIB) : $(PICLIB) 294 -@ echo '' 295 -@ $(RM) -r tmp 296 mkdir tmp && \ 297 cd tmp && \ 298 trap 'cd .. ; $(RM) -r tmp' 0 1 2 3 15 ; \ 299 $(AR) x ../$(PICLIB) && \ 300 $(SHRLD) -o $@ *.o $(LDFLAGS) $(LIBS) && \ 301 mv $@ .. 302 303$(PICLIB) : $(LIBLOCK) $(MODULES:%=$(PICLIB)(%)) 304 -@ echo '' 305 @ set *.o ; \ 306 if [ "$$1" != "*.o" ] ; then \ 307 echo $(AR) r$(ARFLAGS) $@ *.o ; \ 308 $(AR) r$(ARFLAGS) $@ *.o ; \ 309 $(RM) *.o ; \ 310 fi 311 -@ $(RM) $< 312 313$(LIBLOCK) : FORCE 314 @ $(RM) *.o 315 @ touch $@ 316 317install : build 318 - if [ ! -d "$(LIBDIR)" ] ; then \ 319 $(INSTALL) -d -m 775 $(LIBDIR) ; \ 320 fi 321 if [ "$(ARFLAGS)" = U ] ; then \ 322 $(RM) -r tmp ; \ 323 mkdir tmp && \ 324 cd tmp && \ 325 trap 'cd .. ; $(RM) -r tmp' 0 1 2 3 15 ; \ 326 $(AR) x ../$(WCSLIB) && \ 327 $(AR) rD $(WCSLIB) *.o && \ 328 $(INSTALL) -m 644 $(WCSLIB) $(LIBDIR) ; \ 329 cd .. ; \ 330 $(RM) -r tmp ; \ 331 else \ 332 $(INSTALL) -m 644 $(WCSLIB) $(LIBDIR) ; \ 333 fi 334 $(RANLIB) $(LIBDIR)/$(WCSLIB) 335 - if [ -h "$(LIBDIR)/libwcs.a" ] ; then \ 336 $(RM) $(LIBDIR)/libwcs.a ; \ 337 fi 338 $(LN_S) $(WCSLIB) $(LIBDIR)/libwcs.a 339 if [ "$(SHRLIB)" != "" ] ; then \ 340 $(INSTALL) -m 755 $(SHRLIB) $(LIBDIR) ; \ 341 if [ -h "$(LIBDIR)/$(SONAME)" ] ; then \ 342 $(RM) $(LIBDIR)/$(SONAME) ; \ 343 fi ; \ 344 $(LN_S) $(SHRLIB) $(LIBDIR)/$(SONAME) ; \ 345 if [ "$(SHRLN)" != "" ] ; then \ 346 if [ -h "$(LIBDIR)/$(SHRLN)" ] ; then \ 347 $(RM) $(LIBDIR)/$(SHRLN) ; \ 348 fi ; \ 349 $(LN_S) $(SONAME) $(LIBDIR)/$(SHRLN) ; \ 350 fi ; \ 351 fi 352 - if [ ! -d "$(INCDIR)" ] ; then \ 353 $(INSTALL) -d -m 775 $(INCDIR) ; \ 354 fi 355 $(INSTALL) -m 444 *.h $(INCDIR) 356 - $(RM) $(INCLINK) 357 $(LN_S) $(notdir $(INCDIR)) $(INCLINK) 358 359uninstall : 360 - cd $(LIBDIR) && $(RM) $(WCSLIB) $(SHRLN) $(SONAME) $(SHRLIB) 361 - $(RM) $(INCDIR) 362 - $(RM) $(INCLINK) 363 364clean : 365 - $(RM) *.o $(LIBLOCK) *.i a.out t*.out core *.dSYM 366 - $(RM) -r $(EXTRA_CLEAN) 367 368cleaner : clean 369 - $(RM) .gdb_history 370 - $(RM) $(TEST_N) $(TEST_n) $(TEST_T) $(TEST_X) 371 - $(RM) $(TEST_P) tdis3 tpih2 twcshdr twcslint twcstab 372 - $(RM) bth.fits fitshdr.fits pih.fits wcslint.fits wcspcx.fits 373 - $(RM) wcstab.fits SIP.fits SIPTPV.fits TPV3.fits TPV5.fits 374 - $(RM) TPV7.fits DSS.fits TNX.fits ZPX.fits 375 - $(RM) t*_cfitsio test_results 376 377cleanest distclean realclean : cleaner 378 - $(RM) ../wcsconfig.h ../wcsconfig_tests.h 379 - $(RM) fitshdr.c wcsbth.c wcspih.c wcsulex.c wcsutrn.c 380 - $(RM) $(PICLIB) libwcs-*.a libwcs.so.* libwcs.*.dylib 381 382check test : tests $(TESTS:%=run_%) 383 384tests : $(TESTS) $(TEST_X) 385 386# TEST_N and TEST_n programs (no special libraries required). 387$(TEST_N) $(TEST_n) : % : test/%.c $(WCSLIB) 388 -@ echo '' 389 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) $(WCSLIB) $(LIBS) 390 -@ $(RM) $@.o 391 392# TEST_N programs (optionally using CFITSIO). 393tpih1_cfitsio tbth1_cfitsio tfitshdr_cfitsio : %_cfitsio : test/%.c $(WCSLIB) 394 -@ echo '' 395 $(CC) -DDO_CFITSIO $(CPPFLAGS) $(CFITSIOINC) $(CFITSIO_CFLAGS) \ 396 -o $@ $< $(LDFLAGS) $(CFITSIOLIB) $(WCSLIB) $(LIBS) 397 -@ $(RM) $@.o 398 399# TEST_C programs (using CFITSIO). 400twcstab : test/twcstab.c $(WCSLIB) $(GETWCSTAB) 401 -@ echo '' 402 $(CC) $(CPPFLAGS) $(CFITSIOINC) $(CFITSIO_CFLAGS) -o $@ $< \ 403 $(GETWCSTAB) $(LDFLAGS) $(CFITSIOLIB) $(WCSLIB) $(LIBS) 404 -@ $(RM) $@.o $(GETWCSTAB) 405 406twcshdr : test/twcshdr.c $(WCSLIB) $(GETWCSTAB) 407 -@ echo '' 408 $(CC) $(CPPFLAGS) $(CFITSIOINC) $(CFITSIO_CFLAGS) -o $@ $< \ 409 $(GETWCSTAB) $(LDFLAGS) $(CFITSIOLIB) $(WCSLIB) $(LIBS) 410 -@ $(RM) $@.o $(GETWCSTAB) 411 412tdis3 : test/tdis3 413 -@ echo '' 414 cp $< . 415 -@ chmod a+x $@ 416 417twcslint : test/twcslint 418 -@ echo '' 419 cp $< . 420 -@ chmod a+x $@ 421 422# TEST_P programs (using PGPLOT). 423$(TEST_P) : % : test/%.c $(WCSLIB) 424 -@ echo '' 425 $(CC) $(CPPFLAGS) $(PGPLOTINC) $(CFLAGS) -c -o $@.o $< 426 $(LD) -o $@ $@.o $(LDFLAGS) $(PGPLOTLIB) $(WCSLIB) $(FLIBS) $(LIBS) 427 -@ $(RM) $@.o 428 429# TEST_B programs (PGSBOX and PGPLOT). 430tpih2 : test/tpih2.c $(PGSBOXLIB) $(WCSLIB) 431 -@ echo '' 432 $(CC) $(CPPFLAGS) -I../pgsbox $(PGPLOTINC) $(CFLAGS) -c -o $@.o $< 433 $(LD) -o $@ $@.o $(LDFLAGS) $(PGSBOXLIB) $(PGPLOTLIB) $(WCSLIB) \ 434 $(FLIBS) $(LIBS) 435 -@ $(RM) $@.o 436 437tpih2_cfitsio : test/tpih2.c $(PGSBOXLIB) $(WCSLIB) 438 -@ echo '' 439 $(CC) -DDO_CFITSIO $(CPPFLAGS) -I../pgsbox $(PGPLOTINC) \ 440 $(CFITSIOINC) $(CFITSIO_CFLAGS) -c -o $@.o $< 441 $(LD) -o $@ $@.o $(LDFLAGS) $(PGSBOXLIB) $(PGPLOTLIB) \ 442 $(CFITSIOLIB) $(WCSLIB) $(FLIBS) $(LIBS) 443 -@ $(RM) $@.o 444 445# TEST_T programs (using POSIX threads). 446tpthreads : test/tpthreads.c $(WCSLIB) 447 -@ echo '' 448 $(CC) $(CPPFLAGS) $(CFLAGS) -pthread -c -o $@.o $< 449 $(LD) -o $@ $@.o $(LDFLAGS) -pthread $(WCSLIB) -lpthread $(LIBS) 450 -@ $(RM) $@.o 451 452getwcstab.o : getwcstab.c getwcstab.h 453 -@ echo '' 454 $(CC) $(CPPFLAGS) $(CFITSIO_CFLAGS) $(CFITSIOINC) -c $< 455 456$(PGSBOXLIB) : 457 -@ echo '' 458 $(MAKE) -C ../pgsbox $(notdir $@) 459 460../utils/tofits : ../utils/tofits.c 461 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< 462 463GNUmakefile : ../makedefs ; 464 465../makedefs ../wcsconfig.h ../wcsconfig_tests.h : makedefs.in wcsconfig.h.in \ 466 wcsconfig_tests.h.in ../config.status 467 -@ $(RM) ../wcsconfig.h ../wcsconfig_tests.h 468 cd .. && ./config.status 469 470show :: 471 -@ echo ' FLEXMODS := $(FLEXMODS)' 472 -@ echo ' MODULES := $(MODULES)' 473 -@ echo ' DO_CFITSIO := $(DO_CFITSIO)' 474 -@ echo ' DO_PGPLOT := $(DO_PGPLOT)' 475 -@ echo ' TESTS := $(TESTS)' 476 -@ echo ' TEST_X := $(TEST_X)' 477 478# Dependencies (use the %.d pattern rule to list them) 479#----------------------------------------------------- 480 481$(WCSLIB)(cel.o) : cel.h prj.h sph.h wcsconfig.h wcserr.h wcsmath.h \ 482 wcsprintf.h wcstrig.h 483$(WCSLIB)(dis.o) : dis.h wcserr.h wcsprintf.h wcsutil.h 484$(WCSLIB)(fitshdr.o) : fitshdr.h wcsconfig.h wcsutil.h 485$(WCSLIB)(lin.o) : dis.h lin.h wcserr.h wcsprintf.h 486$(WCSLIB)(log.o) : log.h 487$(WCSLIB)(prj.o) : prj.h wcsconfig.h wcserr.h wcsmath.h wcsprintf.h \ 488 wcstrig.h wcsutil.h 489$(WCSLIB)(spc.o) : spc.h spx.h wcsconfig.h wcserr.h wcsmath.h \ 490 wcsprintf.h wcstrig.h wcsutil.h 491$(WCSLIB)(sph.o) : sph.h wcsconfig.h wcstrig.h 492$(WCSLIB)(spx.o) : spx.h wcserr.h wcsmath.h 493$(WCSLIB)(tab.o) : tab.h wcserr.h wcsmath.h wcsprintf.h wcsutil.h 494$(WCSLIB)(wcs.o) : cel.h dis.h lin.h log.h prj.h spc.h sph.h spx.h \ 495 tab.h wcs.h wcsconfig.h wcserr.h wcsmath.h \ 496 wcsprintf.h wcstrig.h wcsunits.h wcsutil.h 497$(WCSLIB)(wcsbth.o) : cel.h lin.h prj.h spc.h spx.h wcs.h wcshdr.h \ 498 wcsmath.h wcsprintf.h wcsutil.h 499$(WCSLIB)(wcserr.o) : wcserr.h wcsprintf.h 500$(WCSLIB)(wcsfix.o) : cel.h lin.h prj.h spc.h sph.h spx.h wcs.h wcserr.h \ 501 wcsfix.h wcsmath.h wcsunits.h wcsutil.h 502$(WCSLIB)(wcshdr.o) : cel.h dis.h lin.h prj.h spc.h spx.h tab.h wcs.h \ 503 wcserr.h wcshdr.h wcsmath.h wcsutil.h 504$(WCSLIB)(wcspih.o) : cel.h dis.h lin.h prj.h spc.h spx.h wcs.h wcshdr.h \ 505 wcsmath.h wcsprintf.h wcsutil.h 506$(WCSLIB)(wcsprintf.o): wcsprintf.h 507$(WCSLIB)(wcstrig.o) : wcsconfig.h wcsmath.h wcstrig.h 508$(WCSLIB)(wcsulex.o) : wcserr.h wcsmath.h wcsunits.h wcsutil.h 509$(WCSLIB)(wcsunits.o) : wcserr.h wcsunits.h 510$(WCSLIB)(wcsutil.o) : wcsmath.h wcsutil.h 511$(WCSLIB)(wcsutrn.o) : wcserr.h wcsunits.h 512 513tbth1 tbth1_cfitsio : cel.h lin.h prj.h spc.h spx.h wcs.h wcsconfig.h \ 514 wcsconfig_tests.h wcserr.h wcsfix.h wcshdr.h 515tcel1 : cel.h prj.h 516tcel2 : cel.h prj.h 517tfitshdr tfitshdr_cfitsio : cel.h fitshdr.h lin.h prj.h spc.h spx.h wcs.h \ 518 wcsconfig.h wcsconfig_tests.h wcshdr.h 519tlin : lin.h 520tdis1 : cel.h dis.h lin.h prj.h spc.h spx.h wcs.h wcserr.h wcshdr.h \ 521 wcsprintf.h 522tdis2 : cel.h lin.h prj.h spc.h spx.h wcs.h wcserr.h wcshdr.h wcsprintf.h 523tdisiter: cel.h dis.h lin.h prj.h spc.h spx.h wcs.h wcserr.h wcshdr.h \ 524 wcsprintf.h 525tlog : log.h 526tpih1 tpih1_cfitsio : cel.h lin.h prj.h spc.h spx.h wcs.h wcsconfig.h \ 527 wcsconfig_tests.h wcserr.h wcsfix.h wcshdr.h wcsprintf.h 528tpih2 tpih2_cfitsio : cel.h lin.h prj.h spc.h spx.h wcs.h wcsconfig.h \ 529 wcsconfig_tests.h wcshdr.h 530tprj1 : prj.h wcsconfig.h wcstrig.h 531tprj2 : prj.h 532tspc : spc.h spx.h wcsconfig.h wcstrig.h 533tspcaips: spc.h spx.h 534tspctrne: spc.h spx.h wcserr.h 535tsph : sph.h wcsconfig.h wcstrig.h 536tsphdpa : sph.h 537tspx : spx.h 538ttab1 : tab.h 539ttab2 : tab.h 540ttab3 : prj.h tab.h 541tunits : wcserr.h wcsunits.h 542twcs : cel.h dis.h fitshdr.h lin.h log.h prj.h spc.h sph.h spx.h tab.h \ 543 wcs.h wcsconfig.h wcsconfig_tests.h wcserr.h wcsfix.h wcshdr.h \ 544 wcslib.h wcsmath.h wcsprintf.h wcstrig.h wcsunits.h wcsutil.h 545twcs_locale : cel.h lin.h prj.h spc.h spx.h wcs.h wcserr.h wcshdr.h \ 546 wcsprintf.h 547twcsfix : cel.h lin.h prj.h spc.h spx.h wcs.h wcserr.h wcsfix.h \ 548 wcsprintf.h wcsunits.h 549twcshdr : cel.h dis.h fitshdr.h getwcstab.h lin.h log.h prj.h spc.h sph.h \ 550 spx.h tab.h wcs.h wcsconfig.h wcserr.h wcsfix.h wcshdr.h wcslib.h \ 551 wcsmath.h wcsprintf.h wcstrig.h wcsunits.h wcsutil.h 552twcsmix : cel.h lin.h prj.h spc.h sph.h spx.h wcs.h 553twcssub : cel.h lin.h prj.h spc.h spx.h wcs.h wcserr.h 554twcstab : cel.h dis.h fitshdr.h getwcstab.h lin.h log.h prj.h spc.h sph.h \ 555 spx.h tab.h wcs.h wcsconfig.h wcserr.h wcsfix.h wcshdr.h wcslib.h \ 556 wcsmath.h wcsprintf.h wcstrig.h wcsunits.h wcsutil.h 557 558run_tdis1 : TPV3.fits TPV5.fits TPV7.fits 559run_tdis2 : SIP.fits 560run_tdis3 : DSS.fits SIPTPV.fits TNX.fits ZPX.fits 561run_tbth1 run_tbth1_cfitsio : bth.fits 562run_tfitshdr run_tfitshdr_cfitsio : fitshdr.fits 563run_tpih1 run_tpih1_cfitsio : pih.fits 564run_tpih2 run_tpih2_cfitsio : pih.fits 565run_twcslint : wcslint.fits 566run_twcs_locale : pih.fits 567