1# /*------------------------------------------------------------\ 2# | | 3# | File : Makefile | 4# | | 5# | Author : Jacomme Ludovic | 6# | | 7# \------------------------------------------------------------*/ 8# /*------------------------------------------------------------\ 9# | | 10# | Cells | 11# | | 12# \------------------------------------------------------------*/ 13# /*------------------------------------------------------------\ 14# | | 15# | Binary | 16# | | 17# \------------------------------------------------------------*/ 18 19include ../etc/alliance-env.mk 20 21VASY = $(ALLIANCE_BIN)/vasy 22ASIMUT = $(ALLIANCE_BIN)/asimut 23BOOM = $(ALLIANCE_BIN)/boom 24BOOG = $(ALLIANCE_BIN)/boog 25LOON = $(ALLIANCE_BIN)/loon 26OCP = $(ALLIANCE_BIN)/ocp 27NERO = $(ALLIANCE_BIN)/nero 28COUGAR = $(ALLIANCE_BIN)/cougar 29LVX = $(ALLIANCE_BIN)/lvx 30DRUC = $(ALLIANCE_BIN)/druc 31S2R = $(ALLIANCE_BIN)/s2r 32 33DREAL = $(ALLIANCE_BIN)/dreal 34GRAAL = $(ALLIANCE_BIN)/graal 35XSCH = $(ALLIANCE_BIN)/xsch 36XPAT = $(ALLIANCE_BIN)/xpat 37XFSM = $(ALLIANCE_BIN)/xfsm 38 39TOUCH = touch 40 41TARGET_LIB = $(CELLS_TOP)/sxlib 42METAL_LEVEL = 2 43 44# /*------------------------------------------------------------\ 45# | | 46# | Environement | 47# | | 48# \------------------------------------------------------------*/ 49 50ENV_VASY = MBK_WORK_LIB=.; export MBK_WORK_LIB;\ 51 MBK_CATAL_NAME=NO_CATAL; export MBK_CATAL_NAME 52 53ENV_BOOM = MBK_WORK_LIB=.; export MBK_WORK_LIB;\ 54 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 55 56ENV_BOOG = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 57 MBK_IN_LO=vst; export MBK_IN_LO; \ 58 MBK_OUT_LO=vst; export MBK_OUT_LO; \ 59 MBK_TARGET_LIB=$(TARGET_LIB); export MBK_TARGET_LIB; \ 60 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 61 62ENV_LOON = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 63 MBK_IN_LO=vst; export MBK_IN_LO; \ 64 MBK_OUT_LO=vst; export MBK_OUT_LO; \ 65 MBK_TARGET_LIB=$(TARGET_LIB); export MBK_TARGET_LIB; \ 66 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 67 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 68 69ENV_ASIMUT_VASY = MBK_WORK_LIB=.; export MBK_WORK_LIB;\ 70 MBK_CATAL_NAME=CATAL_ASIMUT_VASY; export MBK_CATAL_NAME;\ 71 MBK_IN_LO=vst; export MBK_IN_LO;\ 72 MBK_OUT_LO=vst; export MBK_OUT_LO 73 74ENV_ASIMUT_SYNTH = MBK_WORK_LIB=.; export MBK_WORK_LIB;\ 75 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME;\ 76 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 77 MBK_IN_LO=vst; export MBK_IN_LO;\ 78 MBK_OUT_LO=vst; export MBK_OUT_LO 79 80ENV_OCP = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 81 MBK_IN_LO=vst; export MBK_IN_LO; \ 82 MBK_OUT_LO=vst; export MBK_OUT_LO; \ 83 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 84 MBK_IN_PH=ap; export MBK_IN_PH; \ 85 MBK_OUT_PH=ap; export MBK_OUT_PH; \ 86 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 87 88ENV_NERO = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 89 MBK_IN_LO=vst; export MBK_IN_LO; \ 90 MBK_OUT_LO=vst; export MBK_OUT_LO; \ 91 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 92 MBK_IN_PH=ap; export MBK_IN_PH; \ 93 MBK_OUT_PH=ap; export MBK_OUT_PH; \ 94 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 95 96 97 98ENV_COUGAR_SPI = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 99 MBK_IN_LO=spi; export MBK_IN_LO; \ 100 MBK_OUT_LO=spi; export MBK_OUT_LO; \ 101 MBK_SPI_MODEL=$(SPI_MODEL); export MBK_SPI_MODEL; \ 102 MBK_SPI_ONE_NODE_NORC="true"; export MBK_SPI_ONE_NODE_NORC; \ 103 MBK_SPI_NAMEDNODES="true"; export MBK_SPI_NAMEDNODES; \ 104 RDS_TECHNO_NAME=$(RDS_TECHNO_REAL); export RDS_TECHNO_NAME; \ 105 RDS_IN=cif; export RDS_IN; \ 106 RDS_OUT=cif; export RDS_OUT; \ 107 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 108 MBK_IN_PH=ap; export MBK_IN_PH; \ 109 MBK_OUT_PH=ap; export MBK_OUT_PH; \ 110 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 111 112ENV_COUGAR = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 113 MBK_IN_LO=al; export MBK_IN_LO; \ 114 MBK_OUT_LO=al; export MBK_OUT_LO; \ 115 RDS_TECHNO_NAME=$(RDS_TECHNO_REAL); export RDS_TECHNO_NAME; \ 116 RDS_IN=cif; export RDS_IN; \ 117 RDS_OUT=cif; export RDS_OUT; \ 118 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 119 MBK_IN_PH=ap; export MBK_IN_PH; \ 120 MBK_OUT_PH=ap; export MBK_OUT_PH; \ 121 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 122 123ENV_LVX = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 124 MBK_IN_LO=vst; export MBK_IN_LO; \ 125 MBK_OUT_LO=vst; export MBK_OUT_LO; \ 126 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 127 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 128 129ENV_DRUC = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 130 RDS_TECHNO_NAME=$(RDS_TECHNO_SYMB); export RDS_TECHNO_NAME; \ 131 MBK_IN_PH=ap; export MBK_IN_PH; \ 132 MBK_OUT_PH=ap; export MBK_OUT_PH; \ 133 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 134 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 135 136ENV_S2R = MBK_WORK_LIB=.; export MBK_WORK_LIB; \ 137 RDS_TECHNO_NAME=$(RDS_TECHNO_REAL); export RDS_TECHNO_NAME; \ 138 RDS_IN=cif; export RDS_IN; \ 139 RDS_OUT=cif; export RDS_OUT; \ 140 MBK_IN_PH=ap; export MBK_IN_PH; \ 141 MBK_OUT_PH=ap; export MBK_OUT_PH; \ 142 MBK_CATA_LIB=$(TARGET_LIB); export MBK_CATA_LIB; \ 143 MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME 144 145 146all : addaccu.cif 147 148# /*------------------------------------------------------------\ 149# | | 150# | Vasy | 151# | | 152# \------------------------------------------------------------*/ 153 154addaccu.vbe : addaccu.vhdl 155 $(ENV_VASY); $(VASY) -a -B -o -p -I vhdl addaccu 156 157# /*------------------------------------------------------------\ 158# | | 159# | Asimut | 160# | | 161# \------------------------------------------------------------*/ 162 163res_vasy_1.pat : addaccu.vbe 164 $(ENV_ASIMUT_VASY); $(ASIMUT) -b addaccu addaccu res_vasy_1 165 166res_synth_1.pat : addaccu.vst 167 $(ENV_ASIMUT_SYNTH); $(ASIMUT) addaccu addaccu res_synth_1 168 169# /*------------------------------------------------------------\ 170# | | 171# | Boom | 172# | | 173# \------------------------------------------------------------*/ 174 175boom.done : addaccu_o.vbe 176 @$(TOUCH) boom.done 177 178addaccu_o.vbe : addaccu.vbe addaccu.boom res_vasy_1.pat 179 $(ENV_BOOM); $(BOOM) -VP addaccu addaccu_o 180 181# /*------------------------------------------------------------\ 182# | | 183# | Boog | 184# | | 185# \------------------------------------------------------------*/ 186 187boog.done : addaccu_o.vst 188 @$(TOUCH) boog.done 189 190addaccu_o.vst : addaccu_o.vbe 191 $(ENV_BOOG); $(BOOG) addaccu_o 192 193# /*------------------------------------------------------------\ 194# | | 195# | Loon | 196# | | 197# \------------------------------------------------------------*/ 198 199loon.done : addaccu.vst 200 @$(TOUCH) loon.done 201 202addaccu.vst : addaccu_o.vst 203 $(ENV_LOON); $(LOON) addaccu_o addaccu 204 205# /*------------------------------------------------------------\ 206# | | 207# | OCP | 208# | | 209# \------------------------------------------------------------*/ 210 211addaccu_p.ap : res_synth_1.pat 212 $(ENV_OCP); $(OCP) -v -gnuplot -ioc addaccu addaccu addaccu_p 213 214# /*------------------------------------------------------------\ 215# | | 216# | NERO | 217# | | 218# \------------------------------------------------------------*/ 219 220addaccu.ap : addaccu_p.ap addaccu.vst 221 $(ENV_NERO); $(NERO) -V -$(METAL_LEVEL) -p addaccu_p addaccu addaccu 222 223# /*------------------------------------------------------------\ 224# | | 225# | Cougar | 226# | | 227# \------------------------------------------------------------*/ 228 229addaccu_e.spi : addaccu.ap 230 $(ENV_COUGAR_SPI); $(COUGAR) -v -ac addaccu addaccu_e 231 232addaccu_erc.spi : addaccu.ap 233 $(ENV_COUGAR_SPI); $(COUGAR) -v -ar addaccu addaccu_erc 234 235addaccu_erc.al : addaccu.ap 236 $(ENV_COUGAR); $(COUGAR) -v -ar addaccu addaccu_erc 237 238addaccu_e.al : addaccu.ap 239 $(ENV_COUGAR); $(COUGAR) -v -ac addaccu addaccu_e 240 241addaccu_et.al : addaccu.ap 242 $(ENV_COUGAR); $(COUGAR) -v -ac -t addaccu addaccu_et 243 244addaccu_et.spi : addaccu.ap 245 $(ENV_COUGAR_SPI); $(COUGAR) -v -ac -t addaccu addaccu_et 246 247addaccu_er.al : addaccu.cif 248 $(ENV_COUGAR); $(COUGAR) -v -r -t addaccu addaccu_er 249 250addaccu_real.al : addaccu.ap 251 $(ENV_COUGAR); $(ENV_S2R); $(COUGAR) -v -ac addaccu addaccu_real 252 253addaccu_real_t.al : addaccu.ap 254 $(ENV_COUGAR); $(ENV_S2R); $(COUGAR) -v -t -ac addaccu addaccu_real_t 255 256# /*------------------------------------------------------------\ 257# | | 258# | Lvx | 259# | | 260# \------------------------------------------------------------*/ 261 262lvx.done : addaccu.vst addaccu_e.al addaccu_e.spi 263 $(ENV_LVX); $(LVX) vst al addaccu addaccu_e -f 264 $(TOUCH) lvx.done 265 266# /*------------------------------------------------------------\ 267# | | 268# | Druc | 269# | | 270# \------------------------------------------------------------*/ 271 272druc.done : lvx.done addaccu.ap 273 $(ENV_DRUC); $(DRUC) addaccu 274 $(TOUCH) druc.done 275 276# /*------------------------------------------------------------\ 277# | | 278# | S2R | 279# | | 280# \------------------------------------------------------------*/ 281 282addaccu.cif : druc.done 283 $(ENV_S2R); $(S2R) -v addaccu 284 285# /*------------------------------------------------------------\ 286# | | 287# | TOOLS | 288# | | 289# \------------------------------------------------------------*/ 290 291graal : 292 $(ENV_S2R); $(GRAAL) 293 294graal_addaccu_p : addaccu_p.ap 295 $(ENV_S2R); $(GRAAL) -l addaccu_p 296 297graal_addaccu : addaccu.ap 298 $(ENV_S2R); $(GRAAL) -l addaccu 299 300xsch: 301 $(ENV_LOON); $(XSCH) 302 303xsch_addaccu_o : addaccu.vst 304 $(ENV_LOON); $(XSCH) -l addaccu_o 305 306xsch_addaccu : addaccu.vst 307 $(ENV_LOON); $(XSCH) -l addaccu 308 309xsch_addaccu_e: addaccu_e.al 310 $(ENV_COUGAR); $(XSCH) -l addaccu_e 311 312xsch_addaccu_et: addaccu_et.al 313 $(ENV_COUGAR); $(XSCH) -l addaccu_et 314 315xpat: 316 $(ENV_ASIMUT_SYNTH); $(XPAT) 317 318xpat_synth: res_synth_1.pat 319 $(ENV_ASIMUT_SYNTH); $(XPAT) -l res_synth_1 320 321xpat_vasy : res_vasy_1.pat 322 $(ENV_ASIMUT_SYNTH); $(XPAT) -l res_vasy_1 323 324dreal: 325 $(ENV_S2R); $(DREAL) 326 327dreal_addaccu : addaccu.cif 328 $(ENV_S2R); $(DREAL) -l addaccu 329 330 331# /*------------------------------------------------------------\ 332# | | 333# | Clean | 334# | | 335# \------------------------------------------------------------*/ 336 337realclean : clean 338 339clean : 340 $(RM) -f *.vst addaccu_e.spi addaccu_et.spi *.vbe res_*.pat *.boom *.done *.xsc *.gpl \ 341 *.ap *.drc *.dat *.gds *.cif *.rep \ 342 *.log *.out *.raw *.al 343