1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718
|
MAINTAINERCLEANFILES = Makefile.in
CLEANFILES = $(addprefix genpics/, $(images_generated)) summary.ld genpics/.stamp compressed/.stamp
MOSTLYCLEANFILES =
levels_berni =
levels_berniandjela =
levels_brl =
levels_immi =
levels_jela =
levels_mark =
levels_simon =
levels_konrad =
unused_levels =
ocaml_programs =
# order matters!
ocaml_libraries = pam natmod vektor farbe xpmlex helfer graphik polynome vektorgraphik easyarg gen_common
ocaml_headers = $(addsuffix .cmi,$(ocaml_libraries))
ocaml_programs += highlight
genpics/highlight.xpm: highlight.$(mlrun) | genpics/.stamp
./$< -o $@ 32
images_generated = highlight.xpm $(foreach level, $(basename $(levels)), $($(level)_pics_gen))
images_static = $(foreach level, $(basename $(levels)), $($(level)_pics_static))
images_source = $(foreach level, $(basename $(levels)), $($(level)_pics_src))
# ignore in warnings about unused .xpm files:
maybe_unused_images = $(foreach level, $(basename $(unused_levels)), $($(level)_pics_gen)) \
$(foreach level, $(basename $(unused_levels)), $($(level)_pics_static)) \
$(foreach level, $(basename $(unused_levels)), $($(level)_pics_src))
# TODO: report those to upstream
images_ignored = baEmpty.xpm btExplosion.xpm ieGras2.xpm ieGras3.xpm ieGras4.xpm iePiramide.xpm mdSchwarz.xpm itLeer.xpm iwBaum3.xpm testOberschnee.xpm testSchema5.xpm
levels = $(levels_immi) $(levels_berni) $(levels_berniandjela) $(levels_jela) $(levels_mark) $(levels_brl) $(levels_simon) $(levels_konrad)
level_lds = $(patsubst %.m4,%.ld,$(levels))
unused_level_lds = $(patsubst %.m4,%.ld,$(unused_levels))
levels_immi += 3d.ld
images_ignored += i3Boden.xpm i3Feder.xpm i3Nix.xpm i3SirpinskiB.xpm i3Sirpinski.xpm
3d_pics_static = i3Stange.xpm i3Kugel.xpm i3Gitter.xpm i3Quadrat.xpm i3Kreis.xpm i3Dreieck.xpm i3Stern.xpm
3d_pics_src = i3Dreieck.xcf i3Kugel.xcf i3Stange.xcf i3Gitter.xcf i3Quadrat.xcf i3Stern.xcf i3Kreis.xcf i3Sirpinski.xcf
3d_pics_gen =
3d_snds =
levels_mark += aehnlich.ld
aehnlich_pics_static = maeSchema.xpm
aehnlich_pics_gen = maeSorten.xpm
aehnlich_pics_src = maeBall.xpm maeSorten.gen
genpics/maeSorten.xpm: pics/maeBall.xpm
aehnlich_snds =
levels_berni += aliens.ld
aliens_pics_static = bpStein.xpm baRaumschiff.xpm baAnzeige.xpm baPower.xpm baRed.xpm baGreen.xpm baBlue.xpm baYellow.xpm baSchuss.xpm explosion.xpm baWarnship.xpm baAliens.xpm bpPingu.xpm
aliens_pics_gen =
aliens_pics_src =
aliens_snds =
levels_mark += angst.ld
angst_pics_static =
angst_pics_gen = manKoepfe1.xpm manKoepfe2.xpm manKoepfe3.xpm manKoepfe4.xpm manKoepfe5.xpm manKoepfe6.xpm manKoepfe7.xpm manGesichter1.xpm manGesichter2.xpm manGesichter3.xpm manGesichter4.xpm manGesichter5.xpm manGesichter6.xpm manGesichter7.xpm manGras.xpm manGrau.xpm
angst_pics_src =
angst_snds =
ocaml_programs += gen_angst
$(addprefix genpics/,$(angst_pics_gen)): genpics/man%.xpm: gen_angst.$(mlrun) | genpics/.stamp
./$< -o $@ 32 man$*
levels_berni += antarctic.ld
antarctic_pics_static = bpStein.xpm bpEis.xpm bpFreezePingu.xpm bpFreezeIglu.xpm bpFreezeSchnee.xpm bpIglu.xpm bpSchnee.xpm bpPingu.xpm bpPinguA.xpm bpPinguB.xpm bpPinguC.xpm bpPinguD.xpm bpPinguE.xpm bpPinguF.xpm bpPinguG.xpm bpPinguH.xpm bpPinguI.xpm bpPinguJ.xpm bpPinguK.xpm bpPinguL.xpm bpPinguM.xpm bpPinguN.xpm bpPinguO.xpm bpPinguP.xpm bpPinguJong.xpm bpPinguFall.xpm
antarctic_pics_gen =
antarctic_pics_src =
antarctic_snds =
levels_immi += ascii.ld
images_ignored += iaSchrift.xpm
ascii_pics_static = iaApple.xpm iaError.xpm iaGrau.xpm iaBefehl.xpm iaAusdruck.xpm iaString.xpm iaZahl.xpm iaZeug.xpm
ascii_pics_gen =
ascii_pics_src =
ascii_snds =
levels_mark += augen.ld
augen_pics_static = maUnten.xpm
augen_pics_gen = maLeer.xpm ma1.xpm ma2.xpm ma3.xpm ma4.xpm ma5.xpm maLidA.xpm maLidB.xpm maLidC.xpm maLidD.xpm
augen_pics_src =
ocaml_programs += gen_augen
$(addprefix genpics/,$(augen_pics_gen)): genpics/ma%.xpm: gen_augen.$(mlrun) | genpics/.stamp
./$< -o $@ 32 ma$*
augen_snds =
levels_immi += baelle.ld
baelle_pics_static = ibBaelle.xpm ibGrauball.xpm ibKegelPink.xpm ibKegelGelb.xpm ibBaelle2.xpm
baelle_pics_src =
baelle_pics_gen =
baelle_snds =
levels_mark += baender.ld
baender_pics_static = mbaBand1.xpm mbaBand2.xpm mbaBand3.xpm mbaBand4.xpm mbaBand5.xpm mbaBasis.xpm mbaGras.xpm mbaGrau.xpm mbaHinter2.xpm mbaHinter.xpm
baender_pics_src =
baender_pics_gen =
baender_snds =
levels_simon += baggis.ld
baggis_pics_static = sbOfen.xpm sbSunglas.xpm sbBlitz.xpm sbKaese.xpm sbKaeseB.xpm sbKaeseS.xpm sbKaeseSB.xpm sbBrezel.xpm sbBrezelB.xpm sbBrezelS.xpm sbBrezelSB.xpm sbBurger.xpm sbBurgerB.xpm sbBurgerS.xpm sbBurgerSB.xpm sbBroetchen.xpm sbBroetchenB.xpm sbBroetchenS.xpm sbBroetchenSB.xpm sbBlitzer.xpm explosion.xpm
baggis_pics_src =
baggis_pics_gen =
baggis_snds =
levels_mark += bonimali.ld
bonimali_pics_static = mbmEnergie.xpm mbmFeind.xpm mbmBoss.xpm mbmGras.xpm mbmSprites.xpm mbmSterne12.xpm mbmSterne4.xpm mbmGrauSrc.xpm
bonimali_pics_gen = mbmGrauGras.xpm mbmGrauJoker.xpm mbmKettenUhr.xpm mbmKetten.xpm mbmKurzUhr.xpm mbmKurz.xpm mbmLangsamUhr.xpm mbmLangsam.xpm mbmLangUhr.xpm mbmLang.xpm mbmMinusUhr.xpm mbmMinus.xpm mbmOctiUhr.xpm mbmOcti.xpm mbmPunkte.xpm mbmRaketen.xpm mbmSchnellUhr.xpm mbmSchnell.xpm mbmUnunterscheidbarUhr.xpm mbmUnunterscheidbar.xpm mbmVerschwind.xpm mbmLeben.xpm
bonimali_pics_src = mbmGrauSrc.xpm
ocaml_programs += gen_bonimali
$(addprefix genpics/,$(bonimali_pics_gen)): genpics/mbm%.xpm: gen_bonimali.$(mlrun) $(srcdir)/pics/mbmGras.xpm $(srcdir)/pics/mbmGrauSrc.xpm | genpics/.stamp
./$< -i $(srcdir)/pics -o $@ 32 mbm$*
bonimali_snds =
levels_berni += bonus.ld
bonus_pics_static = bbBonus.xpm
bonus_pics_src =
bonus_pics_gen =
bonus_snds =
levels_mark += breakout.ld
breakout_pics_static = mbrSchlaeger.xpm mbrStein.xpm mbrBall2.xpm mbrBall4.xpm
breakout_pics_src =
breakout_pics_gen =
breakout_snds =
# levels_mark += bunt.ld
levels_berni += colorshape.ld
colorshape_pics_static = bcEmpty1.xpm bcEmpty2.xpm bcOrange.xpm bcBack.xpm bcSechseck.xpm bcShapes.xpm
colorshape_pics_src =
colorshape_pics_gen =
colorshape_snds =
levels_brl += darken.ld
darken_pics_static = dnGray.xpm dnBlack2.xpm dnBlack.xpm dnGreen1.xpm dnGreen2.xpm dnGreen3.xpm dnBlue.xpm dnBlue2.xpm dnBlue3.xpm dnRed1.xpm dnRed2.xpm dnRed3.xpm
darken_pics_src =
darken_pics_gen =
darken_snds =
levels_berni += disco.ld
disco_pics_static = bddisco.xpm
disco_pics_src =
disco_pics_gen =
disco_snds =
levels_immi += doors.ld
doors_pics_static = ilKlavier.xpm ilBlase.xpm ilVogelL.xpm ilVogelR.xpm ilTuer.xpm ilDing.xpm ilElefant.xpm ilRolefant.xpm ilElefant2.xpm ilRolefant2.xpm ilVogelL.xpm ilVogelR.xpm
doors_pics_src =
doors_pics_gen =
doors_snds =
levels_immi += ebene.ld
ebene_pics_static = ieUnten.xpm ieOben.xpm ieNix.xpm ieGrau.xpm ieGras.xpm ieGelb.xpm ieRosa.xpm ieRot.xpm ieGruen.xpm
ebene_pics_src =
ebene_pics_gen =
ebene_snds =
levels_brl += elemente.ld
elemente_pics_static = elBlue.xpm elRed.xpm elYellow.xpm elGreen.xpm elGray.xpm elBlack.xpm
elemente_pics_src =
elemente_pics_gen =
elemente_snds =
levels_jela += embroidery.ld
embroidery_pics_static = jsBgStoff.xpm jsGelbFlach.xpm jsGrauLoch.xpm jsGruenGras.xpm jsHetzbalken.xpm jsOrangeKetten_5.xpm jsOrangeKreuz_2.xpm jsRotHexen_2.xpm
embroidery_pics_src =
embroidery_pics_gen =
embroidery_snds =
levels_brl += explosive.ld
explosive_pics_static = lbGray.xpm lbBlack.xpm lbBomb.xpm
explosive_pics_src =
explosive_pics_gen =
explosive_snds =
levels_mark += flechtwerk.ld
flechtwerk_pics_static =
flechtwerk_pics_src =
flechtwerk_pics_gen = mflAlles.xpm mflGrasV.xpm mflKlein.xpm
flechtwerk_snds =
ocaml_programs += gen_flechtwerk
$(addprefix genpics/,$(flechtwerk_pics_gen)): genpics/mfl%.xpm: gen_flechtwerk.$(mlrun) | genpics/.stamp
./$< -o $@ 32 mfl$*
levels_mark += fische.ld
fische_pics_static =
fische_pics_src =
fische_pics_gen = mffisch1.xpm mffisch2.xpm mffisch3.xpm mffisch4.xpm mffisch5.xpm mffisch6.xpm mfmuschel.xpm mfqualle.xpm
fische_snds =
ocaml_programs += gen_fische
$(addprefix genpics/,$(fische_pics_gen)): genpics/%.xpm: gen_fische.$(mlrun) | genpics/.stamp
./$< -o $@ 32 $*
levels_mark += go2.ld
go2_pics_static = igGo.xpm igSchwarz.xpm igWeiss.xpm mgRand.xpm
go2_pics_src =
go2_pics_gen =
go2_snds =
levels_mark += gold.ld
gold_pics_static = mgsGold.xpm
gold_pics_src =
gold_pics_gen =
gold_snds =
unused_levels += ghosts.ld
ghosts_pics_static = bgMenA.xpm bgMenB.xpm bgMenC.xpm bgGhostA.xpm bgGhostB.xpm bgGhostC.xpm bgStein.xpm bgEis.xpm
ghosts_pics_src =
ghosts_pics_gen =
ghosts_snds =
levels_immi += hecken.ld
hecken_pics_static = mihGarten.xpm mihLoch.xpm mihStein.xpm
hecken_pics_src =
hecken_pics_gen =
hecken_snds =
levels_immi += hexkugeln.ld
hexkugeln_pics_static = i6Weiss.xpm i6Gelb.xpm i6Rot.xpm i6Blau.xpm i6Lila.xpm i6Hintergrund.xpm i6Oben.xpm i6Grau.xpm i6Gross1.xpm i6Gross2.xpm i6Gross3.xpm
hexkugeln_pics_gen =
hexkugeln_pics_src =
hexkugeln_snds =
levels_jela += himmel.ld
images_ignored += jhGraueWolken.xpm
himmel_pics_static = jhHelleWolken.xpm jhDrachensteigen.xpm jhBallons.xpm jhSonne.xpm jhGraueWolke.xpm jhLandschaft.xpm jhBlitz.xpm jhBlitz_anim.xpm jhVoegel.xpm jhVoegel_ani1.xpm jhVoegel_ani2.xpm jhVoegel_ani3.xpm jhVoegel_ani4.xpm jhVoegel_ani5.xpm jhVoegel_ani6.xpm jhVoegel_ani7.xpm
himmel_pics_src =
himmel_pics_gen =
himmel_snds =
levels_immi += hormone.ld
hormone_pics_static = ihRot.xpm ihGruen.xpm ihBlau.xpm ihLila.xpm ihBunt.xpm ihGrau.xpm
hormone_pics_src =
hormone_pics_gen =
hormone_snds =
levels_jela += jahreszeiten.ld
jahreszeiten_pics_static = jjErde.xpm jjExtra.xpm jjGrau.xpm jjWinter1.xpm jjWinter2.xpm jjWinter3.xpm jjWinter4.xpm jjFruehling1.xpm jjFruehling2.xpm jjFruehling3.xpm jjFruehling4.xpm jjSommer1.xpm jjSommer2.xpm jjSommer3.xpm jjSommer4.xpm jjHerbst1.xpm jjHerbst2.xpm jjHerbst3.xpm jjHerbst4.xpm jjWinter1e.xpm
jahreszeiten_pics_src = jjBasis.xpm
jahreszeiten_pics_gen =
jahreszeiten_snds =
levels_mark += jump.ld
jump_pics_static = mjPlattform.xpm mjNaegel.xpm
jump_pics_src = mjZeug.src.xpm
jump_pics_gen = mjZeugRed.xpm mjZeugYellow.xpm mjZeugGreen.xpm mjZeugBlue.xpm mjZeugPurple.xpm mjZeugWhite.xpm
jump_snds =
levels_mark += kacheln4.ld
kacheln4_pics_static =
kacheln4_pics_src =
kacheln4_pics_gen = mkaViereckRahmen.xpm mkaViereckKacheln.xpm mkaViereckFall.xpm
kacheln4_snds =
levels_mark += kacheln5.ld
kacheln5_pics_static =
kacheln5_pics_src =
kacheln5_pics_gen = mkaFuenfeckRahmen.xpm mkaFuenfeckKacheln.xpm mkaFuenfeckFall.xpm mkaFuenfeckHetz.xpm
# this image takes longer than all the rest together, so start it as early
# as possible to use all available processors.
build_early_hack = mkaFuenfeckHetz.xpm
kacheln5_snds =
levels_mark += kacheln6.ld
kacheln6_pics_static =
kacheln6_pics_src =
kacheln6_pics_gen = mkaSechseckKacheln.xpm mkaSechseckRahmen.xpm
kacheln6_snds =
levels_mark += kachelnR.ld
kachelnR_pics_static =
kachelnR_pics_src =
kachelnR_pics_gen = mkaRhombusKacheln.xpm mkaRhombusLeer.xpm mkaRhombusFall.xpm
kachelnR_snds =
ocaml_programs += gen_kacheln
genpics/mka%.xpm: gen_kacheln.$(mlrun) | genpics/.stamp
./$< -o $@ 32 mka$*
levels_mark += kolben.ld
kolben_pics_static =
kolben_pics_src = mkKolben.src.xpm
kolben_pics_gen = mkKolbenBlack.xpm mkKolbenRed.xpm mkKolbenGreen.xpm mkKolbenBlue.xpm mkKolbenBlack.xpm
kolben_snds =
levels_immi += kunst.ld
kunst_pics_static = ibkRahmen.xpm ibkTintenfleck.xpm ibkBunt.xpm ibkGruen.xpm ibkRot.xpm ibkSchnecken.xpm ibkWolkig.xpm ibkBG.xpm
kunst_pics_src = ibkWolkig.xcf
kunst_pics_gen =
kunst_snds =
levels_mark += labskaus.ld
labskaus_pics_static = jhBallons.xpm ivElefant.xpm bmKarten.xpm bmStrich.xpm jjWinter1.xpm jjWinter2.xpm jjWinter3.xpm jjWinter4.xpm jjFruehling1.xpm jjFruehling2.xpm jjFruehling3.xpm jjFruehling4.xpm jjSommer1.xpm jjSommer2.xpm jjSommer3.xpm jjSommer4.xpm jjHerbst1.xpm jjHerbst2.xpm jjHerbst3.xpm jjHerbst4.xpm ibBaelle.xpm ibBaelle2.xpm inGras.xpm
labskaus_pics_src =
labskaus_pics_gen =
# mbBunt.xpm mpAlle.xpm
labskaus_snds =
unused_levels += laser.ld
laser_pics_static = blaStart.xpm blaGray.xpm blaEmpty.xpm blaMirror.xpm
laser_pics_src =
laser_pics_gen =
laser_snds =
levels_berni += letters.ld
letters_pics_static = blFragezeichen.xpm blFeld.xpm blTop.xpm blBuchstabe.xpm blLeer.xpm blMark.xpm
letters_pics_src =
letters_pics_gen =
letters_snds =
levels_mark += maennchen.ld
maennchen_pics_static = mmGrasgrau.xpm mmBlau.xpm mmRot.xpm mmGelb.xpm
maennchen_pics_src =
maennchen_pics_gen =
maennchen_snds =
levels_mark += maze.ld
maze_pics_static = mlTop.xpm mlHinter.xpm mlSorte1.xpm mlSorte2.xpm mlSorte3.xpm mlSorte4.xpm mlSorte5.xpm mlSorte6.xpm mlGras.xpm mlGrau.xpm
maze_pics_src =
maze_pics_gen =
maze_snds =
levels_berni += memory.ld
memory_pics_static = bmTisch.xpm bmKarten.xpm bmStrich.xpm
memory_pics_src =
memory_pics_gen =
memory_snds =
levels_konrad += mfs.ld
mfs_pics_static = kmBier.xpm kmMuell.xpm kmSofa.xpm kmTasse.xpm kmHetzstapel.xpm kmPizza.xpm kmTafelgrund.xpm
mfs_pics_src =
mfs_pics_gen =
mfs_snds =
levels_immi += nasenkugeln.ld
nasenkugeln_pics_static = inGruen.xpm inGruen1.xpm inGruen2.xpm inGelb.xpm inGelb1.xpm inGelb2.xpm inSchwarz.xpm inSchwarz2.xpm inRosaNasen.xpm inRosaNasen1.xpm inRosaNasen2.xpm inOrangeNasen.xpm inOrangeNasen1.xpm inOrangeNasen2.xpm inGras.xpm inGrau.xpm
nasenkugeln_pics_src =
nasenkugeln_pics_gen =
nasenkugeln_snds =
unused_levels += noten.ld
images_ignored += onNote3.xpm onNote3b.xpm onNote3c.xpm
noten_pics_static = onNote1.xpm onNote1b.xpm onNote1c.xpm onNote1d.xpm onNote1e.xpm onNote1f.xpm onNote1g.xpm onNote1h.xpm onNote2.xpm onNote2b.xpm onNote2c.xpm onNote2d.xpm onNote2e.xpm onNote2f.xpm onNote2g.xpm onNote2h.xpm onStein.xpm
noten_pics_src =
noten_pics_gen =
noten_snds =
levels_mark += novips.ld
novips_pics_static =
novips_pics_src = mnv.src.xpm
novips_pics_gen = mnvRed.xpm mnvYellow.xpm mnvGreen.xpm mnvCyan.xpm mnvBlue.xpm mnvPurple.xpm
novips_snds =
levels_mark += octopi.ld
octopi_pics_static =
octopi_pics_src =
octopi_pics_gen = moOctopus1.xpm moOctopus2.xpm moOctopus3.xpm moOctopus4.xpm moOctopus5.xpm moAnemone.xpm moFisch.xpm
ocaml_programs += gen_octopi
gen_octopi.$(mlo): farbe.cmi graphik.cmi vektorgraphik.cmi
$(addprefix genpics/,$(octopi_pics_gen)): genpics/%.xpm: gen_octopi.$(mlrun) | genpics/.stamp
./$< -o $@ 32 $*
octopi_snds =
levels_simon += pacman.ld
pacman_pics_static = spBlinky.xpm spClyde.xpm spEyes.xpm spGhost.xpm spInkey.xpm spLabyrinth.xpm spPacman10.xpm spPacman11.xpm spPacman2.xpm spPacman3.xpm spPacman4.xpm spPacman5.xpm spPacman6.xpm spPacman7.xpm spPacman8.xpm spPacman9.xpm spPacman.xpm spPfeil.xpm spPinky.xpm
pacman_pics_src =
pacman_pics_gen =
pacman_snds =
levels_brl += paratroopers.ld
paratroopers_pics_static = ltSky.xpm ltGray.xpm ltCannon.xpm ltParatrooper.xpm
paratroopers_pics_src =
paratroopers_pics_gen =
paratroopers_snds =
levels_immi += pfeile.ld
pfeile_pics_static = ipOben.xpm ipStart.xpm ipGrau.xpm ipHoch.xpm ipRechts.xpm ipRunter.xpm ipLinks.xpm ipHochRunter.xpm ipLinksRechts.xpm
pfeile_pics_src =
pfeile_pics_gen =
pfeile_snds =
levels_mark += puzzle.ld
puzzle_pics_static =
puzzle_pics_gen = mpAlle.xpm
puzzle_pics_src =
puzzle_snds =
ocaml_programs += gen_puzzle
gen_puzzle.$(mlo): farbe.cmi graphik.cmi vektorgraphik.cmi
genpics/mpAlle.xpm: gen_puzzle.$(mlrun) | genpics/.stamp
./$< -o $@ 32 mpAlle
levels_mark += rechnen.ld
rechnen_pics_static = mreGrasgrau.xpm
rechnen_pics_src = mre.src.xpm
rechnen_pics_gen = mreBlack.xpm mreRed.xpm mreBlue.xpm
rechnen_snds =
levels_brl += reversi_brl.m4
CLEANFILES += reversi_brl.ld
reversi_brl_pics_static =
reversi_brl_pics_src =
reversi_brl_pics_gen =
reversi_brl_snds =
levels_brl += rohre.ld
rohre_pics_static = lrWasser.xpm lrWasserH.xpm lrWasserRH.xpm lrEis.xpm lrKamin.xpm lrOfen.xpm
rohre_pics_src = lrKamin.xcf lrWasser.xcf
rohre_pics_gen =
rohre_snds =
levels_brl += pressure.ld
pressure_pics_static = lpStart.xpm
pressure_pics_src = lp.src.xpm pressure.xcf
pressure_pics_gen = lpWhite.xpm lpRed.xpm lpGreen.xpm lpYellow.xpm
pressure_snds =
levels_mark += rollenspiel.ld
rollenspiel_pics_static =
rollenspiel_pics_src =
rollenspiel_pics_gen = mrpAlle.xpm
rollenspiel_snds =
ocaml_programs += gen_rollenspiel
genpics/mrpAlle.xpm: gen_rollenspiel.$(mlrun) | genpics/.stamp
./$< -o $@ 32 mrpAlle
levels_immi += schach.ld
schach_pics_static = isBrett.xpm isBrettrand.xpm isVerbindung.xpm isWeiss.xpm isSchwarz.xpm isBauerSchwarz.xpm isBauerWeiss.xpm isTurmSchwarz.xpm isTurmWeiss.xpm isSpringerSchwarz.xpm isSpringerWeiss.xpm isLaeuferSchwarz.xpm isLaeuferWeiss.xpm isDameSchwarz.xpm isDameWeiss.xpm
schach_pics_src =
schach_pics_gen =
schach_snds =
levels_mark += schemen.ld
schemen_pics_static = msc1A.xpm msc1B.xpm msc1C.xpm msc2.xpm msc3.xpm msc4.xpm msc5.xpm mscGrasGrau.xpm mscHetz.xpm mscNix.xpm
schemen_pics_src =
schemen_pics_gen = mscHinter.xpm mscLeer.xpm mscVerbind.xpm
ocaml_programs += gen_schemen
$(addprefix genpics/,$(schemen_pics_gen)): genpics/msc%.xpm: gen_schemen.$(mlrun) | genpics/.stamp
./$< -o $@ 32 msc$*
schemen_snds =
unused_levels += schiefeebene.ld
schiefeebene_pics_static = bsStart.xpm bsGray.xpm bsStart.xpm bsBlue.xpm bsRed.xpm bsGreen.xpm bsYellow.xpm
schiefeebene_pics_src =
schiefeebene_pics_gen =
schiefeebene_snds =
levels_mark += secret.ld
secret_pics_static =
secret_pics_src =
secret_pics_gen = mseGG.xpm mseKind.xpm
ocaml_programs += gen_secret
$(addprefix genpics/,$(secret_pics_gen)): genpics/mse%.xpm: gen_secret.$(mlrun) | genpics/.stamp
./$< -o $@ 32 mse$*
secret_snds =
levels_mark += silbergold.ld
silbergold_pics_static = mgsWeiss.xpm mgsSilber.xpm mgsGold.xpm mgsSilberGold.xpm mgsGoldSilber.xpm mgsBasis.xpm mgsGoldVerbind.xpm mgsSilberVerbind.xpm
silbergold_pics_src =
silbergold_pics_gen =
silbergold_snds =
# levels_mark += slime.ld
# slime_pics_static =
# slime_pics_src =
# slime_pics_gen =
# slime_snds = slime1.wav slime2.wav
levels_brl += springer.ld
springer_pics_static = isVerbindung.xpm ispBeige.xpm ispBraun.xpm ispGrau.xpm ispGraubraun.xpm ispOrange.xpm ispRest.xpm ispSchwarz.xpm ispWeiss.xpm
springer_pics_src =
springer_pics_gen =
springer_snds =
levels_mark += tennis.ld
tennis_pics_static =
tennis_pics_src =
ocaml_programs += gen_tennis
tennis_pics_gen = mtWall.xpm mtRacket.xpm mtSource.xpm $(foreach c, Blue Green Grey Yellow, mt$cOut.xpm mt$cBounce.xpm mt$cLeft.xpm mt$cRight.xpm) mtRoof1.xpm mtRoof2.xpm mtRoof3.xpm mtRoof4.xpm
tennis_snds =
$(addprefix genpics/,$(tennis_pics_gen)): genpics/mt%.xpm: gen_tennis.$(mlrun) | genpics/.stamp
./$< -o $@ 32 mt$*
levels_berni += tetris.ld
tetris_pics_static = btScore.xpm btGrey.xpm btTetris.xpm
tetris_pics_src =
tetris_pics_gen =
tetris_snds =
levels_immi += theater.ld
theater_pics_static = ithVorhang.xpm ithSitz.xpm ithGruen.xpm ithGruenL.xpm ithGruenR.xpm ithGruenV.xpm ithGruenH.xpm ithGruenBlah.xpm ithGelb.xpm ithGelbL.xpm ithGelbR.xpm ithGelbV.xpm ithGelbH.xpm ithGelbBlah.xpm ithOrange.xpm ithOrangeL.xpm ithOrangeR.xpm ithOrangeV.xpm ithOrangeH.xpm ithOrangeBlah.xpm ithRosa.xpm ithRosaL.xpm ithRosaR.xpm ithRosaV.xpm ithRosaH.xpm ithRosaBlah.xpm ithRot.xpm ithRotL.xpm ithRotR.xpm ithRotV.xpm ithRotH.xpm ithRotBlah.xpm ithBlau.xpm ithBlauL.xpm ithBlauR.xpm ithBlauV.xpm ithBlauH.xpm ithBlauBlah.xpm ithDreckExpl.xpm ithDreck1.xpm ithDreck2.xpm ithDreck3.xpm
theater_pics_src =
theater_pics_gen =
theater_snds =
levels_immi += tiere.ld
tiere_pics_static = itHintergrund.xpm itBlau.xpm itGelb.xpm itGruen.xpm itGrau.xpm itGras.xpm
tiere_pics_src =
tiere_pics_gen =
tiere_snds =
levels_mark += trees.ld
trees_pics_static = mtrGras.xpm mtrGrau.xpm
trees_pics_src = mtr.src.xpm
trees_pics_gen = mtr1.xpm mtr2.xpm mtr3.xpm mtr4.xpm mtr5.xpm
trees_snds =
$(addprefix genpics/,$(trees_pics_gen)): genpics/mtr%.xpm: pics/mtr.src.xpm | genpics/.stamp
sed -e 's/c #ff0000/c #$(MTR_1_$*)/' -e 's/c #ff8080/c #$(MTR_2_$*)/' $< > $@
MTR_1_1 = FFC080
MTR_2_1 = FF8000
MTR_1_2 = 80E080
MTR_2_2 = 00C000
MTR_1_3 = 8080FF
MTR_2_3 = 0000FF
MTR_1_4 = C080FF
MTR_2_4 = 8000FF
MTR_1_5 = C0C0C0
MTR_2_5 = 808080
MTR_1_6 = 808080
MTR_2_6 = 000000
levels_mark += unmoeglich.ld
images_ignored += m6Ganzdick.xpm m6Mittel.xpm
unmoeglich_pics_static = m6Top.xpm m6Hintergrund.xpm m6Gras.xpm m6Grau.xpm m6Dick.xpm m6Duenn.xpm m6Ganzduenn.xpm
unmoeglich_pics_src =
unmoeglich_pics_gen =
unmoeglich_snds =
levels_immi += unterwasser.ld
unterwasser_pics_static = ibwWellen.xpm ibwSchuh.xpm ibwBlaeschen.xpm ibwTintenfisch.xpm ibwFisch.xpm ibwPlankton.xpm ibwAlgen.xpm ibwMuschel.xpm
unterwasser_pics_src =
unterwasser_pics_gen =
unterwasser_snds =
levels_immi += viecher.ld
viecher_pics_static = ivBerge.xpm ivFeuer1.xpm ivFeuer2.xpm ivFeuer3.xpm ivFeuer4.xpm ivFeuer5.xpm ivFeuer6.xpm ivFeuer7.xpm ivFeuer8.xpm ivStein.xpm ivTintenfisch.xpm ivDrachen.xpm ivElefant.xpm ivVulkan.xpm ivVulkan2.xpm ivVulkan3.xpm ivVulkan4.xpm ivVulkan5.xpm ivVulkan6.xpm ivVulkan7.xpm ivVulkan8.xpm ivVulkan9.xpm
viecher_pics_src =
viecher_pics_gen =
viecher_snds =
levels_immi += wachsen.ld
wachsen_pics_static = iwKreis.xpm iwQuadrat.xpm iwRaute.xpm iwErde.xpm iwBaum2.xpm iwBaum.xpm
wachsen_pics_src =
wachsen_pics_gen =
wachsen_snds =
levels_immi += walls.ld
walls_pics_static = iwaBad.xpm iwaParkett.xpm iwaTeppich.xpm iwaBeton.xpm iwaObjekte.xpm iwaNix.xpm
walls_pics_src = iwaAlles.xcf
walls_pics_gen =
walls_snds =
levels_brl += wohnungen.ld
wohnungen_pics_static = lwRed.xpm lwGreen.xpm lwRolladen.xpm lwGray.xpm lwBroken.xpm lwDach.xpm
wohnungen_pics_src =
wohnungen_pics_gen =
wohnungen_snds =
levels_immi += wuerfel.ld
wuerfel_pics_static = itrVorderrand.xpm itrBraun.xpm itrBlau.xpm itrGruen.xpm itrLila.xpm itrGrau.xpm
wuerfel_pics_src =
wuerfel_pics_gen =
wuerfel_snds =
levels_berniandjela += xtradick.ld
xtradick_pics_static = blFragezeichen.xpm bxBaer32.xpm bxBaer40.xpm bxBaer48.xpm bxBaer56.xpm bxBaer64.xpm bxBaer72.xpm bxBaer80.xpm bxBaer88.xpm bxBaer96.xpm bxBaer104.xpm bxBaer112.xpm bxBaer120.xpm bxBaer128.xpm bxBaer136.xpm bxBaer144.xpm bxBaer152.xpm bxBaer160.xpm bxBall32.xpm bxBall40.xpm bxBall48.xpm bxBall56.xpm bxBall64.xpm bxBall72.xpm bxBall80.xpm bxBall88.xpm bxBall96.xpm bxBall104.xpm bxBall112.xpm bxBall120.xpm bxBall128.xpm bxBall136.xpm bxBall144.xpm bxBall152.xpm bxBall160.xpm bxBuch32.xpm bxBuch40.xpm bxBuch48.xpm bxBuch56.xpm bxBuch64.xpm bxBuch72.xpm bxBuch80.xpm bxBuch88.xpm bxBuch96.xpm bxBuch104.xpm bxBuch112.xpm bxBuch120.xpm bxBuch128.xpm bxBuch136.xpm bxBuch144.xpm bxBuch152.xpm bxBuch160.xpm bxLok32.xpm bxLok40.xpm bxLok48.xpm bxLok56.xpm bxLok64.xpm bxLok72.xpm bxLok80.xpm bxLok88.xpm bxLok96.xpm bxLok104.xpm bxLok112.xpm bxLok120.xpm bxLok128.xpm bxLok136.xpm bxLok144.xpm bxLok152.xpm bxLok160.xpm bxKlotz32.xpm bxKlotz40.xpm bxKlotz48.xpm bxKlotz56.xpm bxKlotz64.xpm bxKlotz72.xpm bxKlotz80.xpm bxKlotz88.xpm bxKlotz96.xpm bxKlotz104.xpm bxKlotz112.xpm bxKlotz120.xpm bxKlotz128.xpm bxKlotz136.xpm bxKlotz144.xpm bxKlotz152.xpm bxKlotz160.xpm blBuchstabe.xpm
xtradick_pics_src =
xtradick_pics_gen =
xtradick_snds =
# levels_mark += zahl.ld
# zahn_pics_static =
# zahn_pics_src =
# zahn_pics_gen =
# zahn_snds =
levels_mark += ziehlen.ld
ziehlen_pics_static = lZiehlen.xpm
ziehlen_pics_src =
ziehlen_pics_gen =
ziehlen_snds =
special_lds = summary.ld globals.ld example.ld
ignored_lds = error.ld slime.ld 3d_m.ld bunt.ld doppel.ld zahn.ld dungeon.ld
# TODO: check those for problems:
INTERNALIMAGES = titel.xpm borderh.xpm borderv.xpm border.xpm dbgZiffern.xpm explosion.xpm font-big.xpm infoicons.xpm menupics.xpm pause.xpm pktZiffern2.xpm pktZiffern.xpm scroll.xpm
# sort removes duplicate items, so install does not complain
IMAGES_TO_DIST = $(INTERNALIMAGES) $(images_static) $(images_source)
SOUNDS_TO_INSTALL = down.wav explode.wav land.wav leftright.wav \
levelloose.wav levelwin.wav menuclick.wav menuscroll.wav \
turn.wav cuyo.it \
$(foreach level, $(basename $(levels)), $($(level)_snds))
SOUNDS_TO_DIST = $(SOUNDS_TO_INSTALL)
if HASLIBZ
INSTALLIMAGES = $(foreach file, $(build_early_hack) $(filter-out $(build_early_hack), $(sort $(INTERNALIMAGES) $(images_generated) $(images_static))), compressed/$(file).gz)
CLEANFILES += $(INSTALLIMAGES)
MOSTLYCLEANFILES += $(addprefix genpics/, $(images_generated))
else
INSTALLIMAGES = $(addprefix pics/, $(sort $(INTERNALIMAGES) $(images_static))) \
$(addprefix genpics/, $(sort $(images_generated)))
endif
picsdir = $(pkgdatadir)/pics
pics_DATA = pics/semiglobal $(INSTALLIMAGES)
nobase_pkgdata_DATA = $(level_lds) $(special_lds) \
$(addprefix sounds/, $(SOUNDS_TO_INSTALL))
# levels gehoeren zur Distribution. Und die Skripte auch. Und die Daten der Level:
EXTRA_DIST = $(levels) globals.ld example.ld genSummary.pl summary.in \
pics/semiglobal xpmcombine.awk \
$(addprefix pics/, $(IMAGES_TO_DIST)) \
$(addprefix sounds/, $(SOUNDS_TO_DIST))
# Same sanity checks:
test_level_variables := $(filter-out %-is-file,$(foreach level, $(basename $(levels)) $(basename $(unused_levels)), $(foreach lvar, pics_static pics_gen pics_src snds, $(level)_$(lvar)-is-$(origin $(level)_$(lvar)))))
$(if $(test_level_variables),$(warning Level variables missing: $(test_level_variables)))
test_levels_complete := $(filter-out $(special_lds) $(ignored_lds) $(level_lds) $(unused_level_lds), $(notdir $(wildcard $(srcdir)/*.ld)))
$(if $(test_levels_complete),$(warning .ld files in "$(srcdir)/" but not listed in data/Makefile: $(test_levels_complete)))
test_xpm_complete := $(filter-out $(INTERNALIMAGES) $(images_source) $(images_static) $(maybe_unused_images) $(images_ignored), $(notdir $(wildcard $(srcdir)/pics/*.xpm)))
$(if $(test_xpm_complete),$(warning .xpm files in "$(srcdir)/" but not listed in data/Makefile: $(test_xpm_complete)))
%.ld: %.m4
m4 $< > $@
# make sure the genpics directory exists if we want to store there something:
MOSTLYCLEANFILES += genpics/.stamp compressed/.stamp
genpics/.stamp:
$(mkdir_p) genpics
touch genpics/.stamp
compressed/.stamp:
$(mkdir_p) compressed
touch compressed/.stamp
compressed/%.xpm.gz: pics/%.xpm | compressed/.stamp
gzip -c $< > $@
compressed/%.xpm.gz: genpics/%.xpm | compressed/.stamp
gzip -c $< > $@
# Ein paar spezielle Make-Regeln:
summary.ld: genSummary.pl $(level_lds) summary.in
perl -w $(srcdir)/genSummary.pl $(srcdir) $(level_lds)
# How to generate images:
genpics/%Red.xpm: pics/%.src.xpm | genpics/.stamp
cp $< $@
genpics/%Black.xpm: pics/%.src.xpm | genpics/.stamp
sed -e 's/^"\([^ ]*\) c #[Ff][Ff]\([0-9a-fA-F][0-9a-fA-F]\)\2",$$/"\1 c #\2\2\2",/' $< > $@
genpics/%Blue.xpm: pics/%.src.xpm | genpics/.stamp
sed -e 's/^"\([^ ]*\) c #[Ff][Ff]\([0-9a-fA-F][0-9a-fA-F]\)\2",$$/"\1 c #\2\2FF",/' \
-e 's/^"\([^ ]*\) c #\([0-9a-fA-F][0-9a-fA-F]\)0000",$$/"\1 c #0000\2",/' \
$< > $@
genpics/%Yellow.xpm: pics/%.src.xpm | genpics/.stamp
sed -e 's/^"\([^ ]*\) c #[Ff][Ff]\([0-9a-fA-F][0-9a-fA-F]\)\2",$$/"\1 c #FFFF\2",/' \
-e 's/^"\([^ ]*\) c #\([0-9a-fA-F][0-9a-fA-F]\)0000",$$/"\1 c #\2\200",/' \
$< > $@
genpics/%Cyan.xpm: pics/%.src.xpm | genpics/.stamp
sed -e 's/^"\([^ ]*\) c #[Ff][Ff]\([0-9a-fA-F][0-9a-fA-F]\)\2",$$/"\1 c #\2FFFF",/' \
-e 's/^"\([^ ]*\) c #\([0-9a-fA-F][0-9a-fA-F]\)0000",$$/"\1 c #00\2\2",/' \
$< > $@
genpics/%Green.xpm: pics/%.src.xpm | genpics/.stamp
sed -e 's/^"\([^ ]*\) c #[Ff][Ff]\([0-9a-fA-F][0-9a-fA-F]\)\2",$$/"\1 c #\2FF\2",/' \
-e 's/^"\([^ ]*\) c #\([0-9a-fA-F][0-9a-fA-F]\)0000",$$/"\1 c #00\200",/' \
$< > $@
genpics/%Purple.xpm: pics/%.src.xpm | genpics/.stamp
sed -e 's/^"\([^ ]*\) c #[Ff][Ff]\([0-9a-fA-F][0-9a-fA-F]\)\2",$$/"\1 c #FF\2FF",/' \
-e 's/^"\([^ ]*\) c #\([0-9a-fA-F][0-9a-fA-F]\)0000",$$/"\1 c #\200\2",/' \
$< > $@
genpics/%White.xpm: pics/%.src.xpm | genpics/.stamp
sed -e 's/^"\([^ ]*\) c #[Ff][Ff]\([0-9a-fA-F][0-9a-fA-F]\)\2",$$/"\1 c #FFFFFF",/' \
-e 's/^"\([^ ]*\) c #\([0-9a-fA-F][0-9a-fA-F]\)0000",$$/"\1 c #\2\2\2",/' \
$< > $@
genpics/%.xpm: pics/%.gen | genpics/.stamp
LC_ALL=C $(AWK) -f $(srcdir)/xpmcombine.awk -- -I $(srcdir)/pics -o $@ $<
# Combine all ocaml libraries into one lib, to ease usage:
graphiclib.$(mla): $(addsuffix .$(mlo),$(ocaml_libraries))
$(MLC) -o $@ -a $(addsuffix .$(mlo),$(ocaml_libraries))
# Why compile headers? What insanity is that?
vektor.cmi: natmod.cmi
farbe.cmi: natmod.cmi vektor.cmi
vektorgraphik.cmi: farbe.cmi graphik.cmi polynome.cmi
graphik.cmi: farbe.cmi xpmlex.cmi pam.cmi
xpmlex.cmi: farbe.cmi
xpmlex.ml: xpmlex.mll
$(OCAMLLEX) -o $@ $<
%.$(mlo): %.ml $(ocaml_headers)
$(MLC) -o $@ -c $<
%.cmi: %.mli
$(MLC) -o $@ -c $<
$(addsuffix .$(mlrun),$(ocaml_programs)): %.$(mlrun): graphiclib.$(mla) %.$(mlo)
$(MLC) -o $@ $^
EXTRA_DIST += $(addsuffix .mli,$(ocaml_libraries)) $(addsuffix .ml,$(filter-out xpmlex.ml,$(ocaml_libraries))) $(addsuffix .ml,$(ocaml_programs)) xpmlex.mll
.SECONDARY: $(addsuffix .$(mlrun),$(ocaml_programs)) $(addsuffix .$(mlo),$(ocaml_programs))
.SECONDARY: $(addsuffix .cmi,$(ocaml_libraries)) $(addsuffix .$(mlo),$(ocaml_libraries))
CLEANFILES += *.cmi *.cma *.cmxa *.a *.o *.cmo *.cmx *.opt *.mlrun xpmlex.ml
# "`BUILT_SOURCES' is actually a bit of a misnomer, as any file which
# must be created early in the build process can be listed in this
# variable." (automake)Sources
# build ocaml_programs early, so that the build_early_hack works:
BUILT_SOURCES = $(addsuffix .$(mlrun),$(ocaml_programs))
# Wenn beim Erzeugen einer Datei ein Fehler passiert, soll, falls
# trotzdem schon eine halbe Datei erzeugt wurde, diese halbe Datei
# geloescht werden. Ist fuer genSummary.pl notwendig (und sollte
# eigentlich sowieso der default sein.)
.DELETE_ON_ERROR:
# Do not remake files not needed for installing.
.INTERMEDIATE: $(MOSTLYCLEANFILES)
|