1 | include $(DOMHOME)/HOSTS/$(DOM_HOSTTYPE)/makefile.h 2 | 3 | # 4 | # Version and outpath 5 | # ------------------- 6 | # 7 | 8 | HOST = $(DOMHOME)/HOSTS/$(DOM_HOSTTYPE) 9 | OUT = $(HOST) 10 | INC = $(HOST) 11 | 12 | # 13 | # Sources directories 14 | # ------------------- 15 | # 16 | 17 | TOOLD = $(DOMHOME)/TOOLS/TABFSK 18 | MAIN = $(DOMHOME)/TOOLS/COMMON 19 | MODEL = $(DOMHOME)/TOOLS/COMMON/MODEL 20 | FUNC = $(DOMHOME)/TOOLS/COMMON/FUNCTIONS 21 | INOUT = $(DOMHOME)/TOOLS/COMMON/INOUT 22 | QUADRA = $(DOMHOME)/TOOLS/COMMON/QUADRATURE 23 | INCFILE = $(HOST)/dom.inc 24 | 25 | # 26 | # Quiet mode 27 | # 28 | .SILENT : 29 | 30 | # 31 | # Suffixes 32 | # -------- 33 | 34 | .SUFFIXES:.o .F .HH .h 35 | 36 | # 37 | # Intermediate files to keep 38 | # -------------------------- 39 | 40 | .PRECIOUS : %.o %_m4.f %.mod %.h 41 | 42 | # 43 | # Executable file 44 | # --------------- 45 | # 46 | 47 | FSKTABEXEC = $(OUT)/tabfsk_$(DOM_VERSION).e_$(DOM_HOSTTYPE) 48 | 49 | # 50 | # List of object files 51 | # -------------------- 52 | # 53 | 54 | TABFSK_OBJ = \ 55 | $(TOOLD)/SRC/tabfsk.o 56 | 57 | MODEL_OBJ = \ 58 | $(FUNC)/blae.o \ 59 | $(FUNC)/planck.o \ 60 | $(QUADRA)/gauleg.o \ 61 | $(QUADRA)/cofg.o \ 62 | $(QUADRA)/pdf.o \ 63 | $(QUADRA)/k_distributeur.o \ 64 | $(QUADRA)/cdss.o \ 65 | $(MODEL)/tmno.o \ 66 | $(MODEL)/findi.o \ 67 | $(MODEL)/kbarandphi.o \ 68 | $(MODEL)/fsk_case.o \ 69 | $(MODEL)/fsck_case.o \ 70 | $(MODEL)/ck_case.o \ 71 | $(INOUT)/param.o 72 | 73 | CONST = \ 74 | $(MAIN)/dom_constants.h 75 | 76 | ALL_OBJS = $(MODEL_OBJ) $(TABFSK_OBJ) 77 | 78 | # 79 | # Main compilation 80 | # ---------------- 81 | # 82 | 83 | all : $(FSKTABEXEC) 84 | @echo 85 | @echo "****************************************" 86 | @echo 87 | @echo " Executable created :" 88 | @echo $(FSKTABEXEC) 89 | @echo 90 | @echo "****************************************" 91 | @$(RM) *.o *_m4.f *.mod dom.inc 92 | 93 | $(FSKTABEXEC) : $(CONST) $(ALL_OBJS) 94 | @echo 95 | @echo "****************************************" 96 | @echo 97 | @echo " Linking Object Files ...." 98 | @$(FFS) $(LDFLAGS) -o $(FSKTABEXEC) $(ALL_OBJS) 99 | @echo 100 | @echo "****************************************" 101 | 102 | # 103 | # dependecies by include 104 | # 105 | 106 | $(TABFSK_OBJ) : $(CONST) 107 | 108 | $(MODEL_OBJ) : $(CONST) 109 | 110 | # 111 | # Cleaning 112 | # 113 | 114 | clean : clean_SUBROUTINES clean_CONST 115 | 116 | clean_SUBROUTINES : 117 | @echo 118 | @echo "****************************************" 119 | @echo 120 | @echo " Removing SUBROUTINES object files" 121 | @$(RM) $(ALL_OBJS) 122 | @echo " Removing intermediary _m4.f files" 123 | @$(RM) $(ALL_OBJS:.o=_m4.f) 124 | @$(RM) dom.inc *.h *_m4.f *.c *.o *.mod 125 | @echo 126 | @echo "****************************************" 127 | 128 | clean_CONST : 129 | @echo 130 | @echo "****************************************" 131 | @echo 132 | @echo " Removing *.h files " 133 | @$(RM) $(MAIN)/*.h 134 | @echo 135 | @echo "****************************************" 136 | 137 | # 138 | # Suffix Rules: 139 | # 140 | 141 | dom.inc : $(INC)/dom.inc 142 | @echo 143 | @echo "****************************************" 144 | @echo 145 | @echo " Installing dom.inc" 146 | @$(LN) $(INC)/dom.inc . 147 | @echo 148 | @echo "****************************************" 149 | 150 | 151 | %_m4.f : %.F dom.inc 152 | @echo 153 | @echo "****************************************" 154 | @echo 155 | @echo " Preprocessing " $*.F 156 | @$(M4DIR) $*.F > $*_m4.f 157 | @sed '1d' $*_m4.f > tmp_m4.f 158 | @$(MV) tmp_m4.f $*_m4.f 159 | 160 | %.o : %_m4.f 161 | @echo " Compiling " $*_m4.f 162 | $(FFS) -c -I$(MAIN) $(FFSLAGS) -o $@ $*_m4.f 163 | @echo 164 | @echo "****************************************" 165 | 166 | 167 | %.h : %.HH dom.inc 168 | @echo 169 | @echo "****************************************" 170 | @echo " Preprocessing " $*.HH 171 | @$(M4DIR) $*.HH > $*.h 172 | @$(LN) $*.h . 173 | @echo 174 | @echo "****************************************" 175 | 176 | # Canceling implicit rule %.F => %.o 177 | %.o : %.F