IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 23, 2008, 10:05:34 AM (18 years ago)
Author:
eugene
Message:

cleanup skycalc build, license info, prototypes; add sunmoon function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/skycalc/Makefile

    r12842 r19681  
    1 default: skycalc
     1default: install
    22help:
    3         @echo "make options: (default)"
     3        @echo "make options: install libskycalc all programs clean dist"
    44
    55include ../../Makefile.System
     
    1313
    1414# programs may add their own internal requirements here
    15 FULL_CFLAGS   = $(BASE_CFLAGS)
     15FULL_CFLAGS   = $(BASE_CFLAGS) -fPIC
    1616FULL_CPPFLAGS = $(BASE_CPPFLAGS)
    17 FULL_LDFLAGS  = $(BASE_LDFLAGS)
     17FULL_LDFLAGS  = $(BASE_LDFLAGS) -lskycalc -lohana
    1818
    19 skycalc: $(DESTLIB)/libskycalc.a
    2019install: $(DESTINC)/skycalc.h $(DESTLIB)/libskycalc.a
     20libskycalc: $(DESTLIB)/libskycalc.a $(DESTLIB)/libskycalc.$(DLLTYPE)
    2121
    22 all: moondata dusktime sundata
     22all: libskycalc dusktime moondata sundata
     23programs: all
    2324
    24 OBJ =   $(SRC)/time.$(ARCH).o           $(SRC)/geometry.$(ARCH).o \
    25         $(SRC)/astro.$(ARCH).o          $(SRC)/sun.$(ARCH).o \
    26         $(SRC)/moon.$(ARCH).o
     25INCS = $(DESTINC)/skycalc.h
    2726
    28 $(OBJ): $(INC)/skycalc.h $(INC)/skycalc_internal.h
     27MYINCS = $(INCS) $(INC)/skycalc_internal.h
    2928
    30 $(LIB)/libskycalc.$(ARCH).a: $(OBJ)
    31         @if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
    32         rm -f $(LIB)/libskycalc.$(ARCH).a
    33         ar rcv $(LIB)/libskycalc.$(ARCH).a $(OBJ)
    34         $(RANLIB) $(LIB)/libskycalc.$(ARCH).a
     29OBJS =  \
     30$(SRC)/time.$(ARCH).o     \
     31$(SRC)/geometry.$(ARCH).o \
     32$(SRC)/astro.$(ARCH).o    \
     33$(SRC)/sun.$(ARCH).o      \
     34$(SRC)/moon.$(ARCH).o
    3535
    36 $(DESTLIB)/libskycalc.a: $(LIB)/libskycalc.$(ARCH).a
    37         @if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
    38         rm -f  $(DESTLIB)/libskycalc.a
    39         cp $(LIB)/libskycalc.$(ARCH).a $(DESTLIB)/libskycalc.a
     36$(OBJS): $(MYINCS)
    4037
    41 $(DESTINC)/skycalc.h: $(INC)/skycalc.h
    42         @if [ ! -d $(DESTINC) ]; then mkdir -p $(DESTINC); fi
    43         rm -f $(DESTINC)/skycalc.h
    44         cp $(INC)/skycalc.h $(DESTINC)/
     38$(LIB)/libskycalc.$(ARCH).a: $(OBJS)
     39$(LIB)/libskycalc.$(ARCH).$(DLLTYPE): $(OBJS)
    4540
    46 test:
    47         $(CC) $(CCFLAGS) -g -o skylib $(SRC)/skylib.c -lskycalc -lm
     41$(DESTLIB)/libskycalc.a:  $(LIB)/libskycalc.$(ARCH).a
     42$(DESTLIB)/libskycalc.$(DLLTYPE): $(LIB)/libskycalc.$(ARCH).$(DLLTYPE)
    4843
    49 dusktime: skycalc
    50         @if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
    51         @if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
    52         $(CC) $(CCFLAGS) -g -o $(BIN)/dusktime.$(ARCH) $(SRC)/dusktime.c -lskycalc -lm -lohana
    53         cp $(BIN)/dusktime.$(ARCH) $(DESTBIN)/dusktime
     44dusktime : $(BIN)/dusktime.$(ARCH)
     45moondata : $(BIN)/moondata.$(ARCH)
     46sundata  : $(BIN)/sundata.$(ARCH)
     47sunmoon  : $(BIN)/sunmoon.$(ARCH)
    5448
    55 moondata: skycalc
    56         @if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
    57         @if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
    58         $(CC) $(CCFLAGS) -g -o $(BIN)/moondata.$(ARCH) $(SRC)/moondata.c -lskycalc -lm -lohana
    59         cp $(BIN)/moondata.$(ARCH) $(DESTBIN)/moondata
     49DUSKTIME = $(SRC)/dusktime.$(ARCH).o
     50MOONDATA = $(SRC)/moondata.$(ARCH).o
     51SUNDATA  = $(SRC)/sundata.$(ARCH).o
     52SUNMOON  = $(SRC)/sunmoon.$(ARCH).o
    6053
    61 sundata: skycalc
    62         @if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
    63         @if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
    64         $(CC) $(CCFLAGS) -g -o $(BIN)/sundata.$(ARCH) $(SRC)/sundata.c -lskycalc -lm -lohana
    65         cp $(BIN)/sundata.$(ARCH) $(DESTBIN)/sundata
     54$(DUSKTIME) : $(MYINCS)
     55$(MOONDATA) : $(MYINCS)
     56$(SUNDATA)  : $(MYINCS)
     57$(SUNMOON)  : $(MYINCS)
    6658
    67 clean: 
    68         rm -f `find . -name "*.o"`
    69         rm -f `find . -name "*.a"`
    70         rm -f `find . -name "*~"`
    71         rm -f `find . -name "#*"`
     59$(BIN)/dusktime.$(ARCH) : $(DUSKTIME)
     60$(BIN)/moondata.$(ARCH) : $(MOONDATA)
     61$(BIN)/sundata.$(ARCH)  : $(SUNDATA)
     62$(BIN)/sunmoon.$(ARCH)  : $(SUNMOON)
    7263
    73 .SUFFIXES: .$(ARCH).o
     64INSTALL = dusktime moondata sundata sunmoon
    7465
    75 .c.$(ARCH).o:
    76         $(CC) $(CFLAGS) -c $<
     66# dependancy rules for binary code #########################
     67$(INSTALL): % : $(BIN)/%.$(ARCH)
    7768
     69%.clean :
     70        rm -f $(BIN)/$*.$(ARCH)
     71
     72%.install:
     73        make $(DESTBIN)/$*
     74
     75install:
     76        for i in $(INSTALL); do make $$i.install || exit; done
Note: See TracChangeset for help on using the changeset viewer.