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/TABFSCK 18 | MAIN = $(DOMHOME)/SEQCODE/MAIN 19 | MODEL = $(DOMHOME)/SEQCODE/MODEL 20 | FUNC = $(DOMHOME)/SEQCODE/FUNCTIONS 21 | INOUT = $(DOMHOME)/SEQCODE/INOUT 22 | QUADRA = $(DOMHOME)/SEQCODE/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 | FSCKTABEXEC = $(OUT)/tabfsck_$(DOM_VERSION).e_$(DOM_HOSTTYPE) 48 | 49 | # 50 | # List of object files 51 | # -------------------- 52 | # 53 | 54 | TABFSCK_OBJ = \ 55 | $(TOOLD)/SRC/tabfsck.o 56 | 57 | MODEL_OBJ = \ 58 | $(FUNC)/blae.o \ 59 | $(FUNC)/planck.o \ 60 | $(QUADRA)/gauleg.o \ 61 | $(QUADRA)/cofg.o \ 62 | $(QUADRA)/k_distributeur.o \ 63 | $(QUADRA)/cdss.o \ 64 | $(MODEL)/tmno.o \ 65 | $(MODEL)/findi.o \ 66 | $(MODEL)/kbarandphi.o \ 67 | $(MODEL)/fsck_case.o \ 68 | $(MODEL)/snb_case.o \ 69 | $(INOUT)/param.o 70 | 71 | CONST = \ 72 | $(MAIN)/dom_constants.h 73 | 74 | ALL_OBJS = $(MODEL_OBJ) $(TABFSCK_OBJ) 75 | 76 | # 77 | # Main compilation 78 | # ---------------- 79 | # 80 | 81 | all : $(FSCKTABEXEC) 82 | @echo 83 | @echo "****************************************" 84 | @echo 85 | @echo " Executable created :" 86 | @echo $(FSCKTABEXEC) 87 | @echo 88 | @echo "****************************************" 89 | @$(RM) *.o *_m4.f *.mod dom.inc 90 | 91 | $(FSCKTABEXEC) : $(CONST) $(ALL_OBJS) 92 | @echo 93 | @echo "****************************************" 94 | @echo 95 | @echo " Linking Object Files ...." 96 | @$(FFS) $(LDFLAGS) -o $(FSCKTABEXEC) $(ALL_OBJS) 97 | @echo 98 | @echo "****************************************" 99 | 100 | # 101 | # dependecies by include 102 | # 103 | 104 | $(TABFSCK_OBJ) : $(CONST) 105 | 106 | $(MODEL_OBJ) : $(CONST) 107 | 108 | # 109 | # Cleaning 110 | # 111 | 112 | clean : clean_SUBROUTINES clean_CONST 113 | 114 | clean_SUBROUTINES : 115 | @echo 116 | @echo "****************************************" 117 | @echo 118 | @echo " Removing SUBROUTINES object files" 119 | @$(RM) $(ALL_OBJS) 120 | @echo " Removing intermediary _m4.f files" 121 | @$(RM) $(ALL_OBJS:.o=_m4.f) 122 | @$(RM) dom.inc *.h *_m4.f *.c *.o *.mod 123 | @echo 124 | @echo "****************************************" 125 | 126 | clean_CONST : 127 | @echo 128 | @echo "****************************************" 129 | @echo 130 | @echo " Removing *.h files " 131 | @$(RM) $(MAIN)/*.h 132 | @echo 133 | @echo "****************************************" 134 | 135 | # 136 | # Suffix Rules: 137 | # 138 | 139 | dom.inc : $(INC)/dom.inc 140 | @echo 141 | @echo "****************************************" 142 | @echo 143 | @echo " Installing dom.inc" 144 | @$(LN) $(INC)/dom.inc . 145 | @echo 146 | @echo "****************************************" 147 | 148 | 149 | %_m4.f : %.F dom.inc 150 | @echo 151 | @echo "****************************************" 152 | @echo 153 | @echo " Preprocessing " $*.F 154 | @$(M4DIR) $*.F > $*_m4.f 155 | @sed '1d' $*_m4.f > tmp_m4.f 156 | @$(MV) tmp_m4.f $*_m4.f 157 | 158 | %.o : %_m4.f 159 | @echo " Compiling " $*_m4.f 160 | $(FFS) -c -I$(MAIN) $(FFSLAGS) -o $@ $*_m4.f 161 | @echo 162 | @echo "****************************************" 163 | 164 | 165 | %.h : %.HH dom.inc 166 | @echo 167 | @echo "****************************************" 168 | @echo " Preprocessing " $*.HH 169 | @$(M4DIR) $*.HH > $*.h 170 | @$(LN) $*.h . 171 | @echo 172 | @echo "****************************************" 173 | 174 | # Canceling implicit rule %.F => %.o 175 | %.o : %.F