comparison Makefile.gen @ 2551:72513168d94e

Improve build system.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 25 Feb 2022 15:36:53 +0200
parents fddee4b6a427
children fdea5e3d727f
comparison
equal deleted inserted replaced
2550:c58cd7797aff 2551:72513168d94e
356 ### 356 ###
357 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) 357 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
358 358
359 359
360 $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h 360 $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h
361 $(COMPILE_C_OBJ) 361 $(call COMPILE_C_OBJ,)
362 362
363 $(OBJPATH)%.o: $(DMLIB)tests/%.c 363 $(OBJPATH)%.o: $(DMLIB)tests/%.c
364 $(COMPILE_C_OBJ) 364 $(call COMPILE_C_OBJ,)
365 365
366 $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h 366 $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h
367 $(COMPILE_C_OBJ) 367 $(call COMPILE_C_OBJ,)
368 368
369 $(OBJPATH)%.o: $(DMLIB)tools/%.c 369 $(OBJPATH)%.o: $(DMLIB)tools/%.c
370 $(COMPILE_C_OBJ) 370 $(call COMPILE_C_OBJ,)
371 371
372 $(OBJPATH)%.o: %.c %.h 372 $(OBJPATH)%.o: %.c %.h
373 $(COMPILE_C_OBJ) 373 $(call COMPILE_C_OBJ,)
374 374
375 $(OBJPATH)%.o: %.c 375 $(OBJPATH)%.o: %.c
376 $(COMPILE_C_OBJ) 376 $(call COMPILE_C_OBJ,)
377 377
378 $(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h 378 $(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h
379 $(COMPILE_C_OBJ) 379 $(call COMPILE_C_OBJ,)
380 380
381 $(OBJPATH)%.o: $(MINIJSS)%.c 381 $(OBJPATH)%.o: $(MINIJSS)%.c
382 $(COMPILE_C_OBJ) 382 $(call COMPILE_C_OBJ,)
383 383
384 $(OBJPATH)%.o: $(DMLIB_SRC)%.c $(DMLIB_SRC)%.h 384 $(OBJPATH)%.o: $(DMLIB_SRC)%.c $(DMLIB_SRC)%.h
385 $(COMPILE_C_OBJ) 385 $(call COMPILE_C_OBJ,)
386 386
387 $(OBJPATH)%.o: $(DMLIB_SRC)%.c 387 $(OBJPATH)%.o: $(DMLIB_SRC)%.c
388 $(COMPILE_C_OBJ) 388 $(call COMPILE_C_OBJ,)
389 389
390 390
391 ### 391 ###
392 ### dmlib-specific rules 392 ### dmlib-specific rules
393 ### 393 ###
394 $(MINIJSS)jmix_c.c: $(MINIJSS)jmix_c_in.c $(MINIJSS)jmixtmpl_c.h $(MINIJSS)jmix_post_c.h 394 $(MINIJSS)jmix_c.c: $(MINIJSS)jmix_c_in.c $(MINIJSS)jmixtmpl_c.h $(MINIJSS)jmix_post_c.h
395 (echo "#include \"jssmix.h\"" && cpp $< $(DM_CFLAGS)) | sed "s/^# .*//g" > $@ 395 (echo "#include \"jssmix.h\"" && cpp $< $(DM_CFLAGS)) | sed "s/^# .*//g" > $@
396 396
397 $(OBJPATH)dmimage.o: $(DMLIB_SRC)dmimage.c $(DMLIB_SRC)stb_image.c $(DMLIB_SRC)dmimage.h 397 $(OBJPATH)dmimage.o: $(DMLIB_SRC)dmimage.c $(DMLIB_SRC)stb_image.c $(DMLIB_SRC)dmimage.h
398 $(COMPILE_C_OBJ) 398 $(call COMPILE_C_OBJ,)
399 399
400 $(OBJPATH)dmresw.o: $(DMLIB_SRC)dmresw.c $(DMLIB_SRC)dmres.h 400 $(OBJPATH)dmresw.o: $(DMLIB_SRC)dmresw.c $(DMLIB_SRC)dmres.h
401 $(COMPILE_C_OBJ) 401 $(call COMPILE_C_OBJ,)
402 402
403 403
404 $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(OBJPATH)jss.o 404 $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(OBJPATH)jss.o
405 $(COMPILE_C_OBJ) 405 $(call COMPILE_C_OBJ,)
406 406
407 $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(OBJPATH)jssmod.o 407 $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(OBJPATH)jssmod.o
408 $(COMPILE_C_OBJ) 408 $(call COMPILE_C_OBJ,)
409 409
410 $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(OBJPATH)jssmix.o 410 $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(OBJPATH)jssmix.o
411 $(COMPILE_C_OBJ) 411 $(call COMPILE_C_OBJ,)
412 412
413 413
414 $(OBJPATH)dmblit.o: $(DMLIB_SRC)dmblit.c $(DMLIB_SRC)dmscaledblit.h $(DMLIB_SRC)dmunscaledblit.h $(DMLIB_SRC)dmblitfunc.h $(DMLIB_SRC)dmlib.h 414 $(OBJPATH)dmblit.o: $(DMLIB_SRC)dmblit.c $(DMLIB_SRC)dmscaledblit.h $(DMLIB_SRC)dmunscaledblit.h $(DMLIB_SRC)dmblitfunc.h $(DMLIB_SRC)dmlib.h
415 $(COMPILE_C_OBJ) 415 $(call COMPILE_C_OBJ,)
416 416
417 $(OBJPATH)dmline.o: $(DMLIB_SRC)dmline.c $(DMLIB_SRC)dmdrawline.h $(DMLIB_SRC)dmlinefunc.h $(DMLIB_SRC)dmlineclip.h $(DMLIB_SRC)dmlib.h 417 $(OBJPATH)dmline.o: $(DMLIB_SRC)dmline.c $(DMLIB_SRC)dmdrawline.h $(DMLIB_SRC)dmlinefunc.h $(DMLIB_SRC)dmlineclip.h $(DMLIB_SRC)dmlib.h
418 $(COMPILE_C_OBJ) 418 $(call COMPILE_C_OBJ,)
419 419
420 $(OBJPATH)libgfx.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h $(DMLIB_A) 420 $(OBJPATH)libgfx.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h $(DMLIB_A)
421 $(COMPILE_C_OBJ) 421 $(call COMPILE_C_OBJ,)
422 422
423 $(OBJPATH)lib64gfx.o: $(DMLIB)tools/lib64gfx.c $(DMLIB)tools/lib64gfx.h $(OBJPATH)libgfx.o 423 $(OBJPATH)lib64gfx.o: $(DMLIB)tools/lib64gfx.c $(DMLIB)tools/lib64gfx.h $(OBJPATH)libgfx.o
424 $(COMPILE_C_OBJ) 424 $(call COMPILE_C_OBJ,)
425 425
426 $(OBJPATH)lib64util.o: $(DMLIB)tools/lib64util.c $(DMLIB)tools/lib64util.h $(OBJPATH)lib64gfx.o 426 $(OBJPATH)lib64util.o: $(DMLIB)tools/lib64util.c $(DMLIB)tools/lib64util.h $(OBJPATH)lib64gfx.o
427 $(COMPILE_C_OBJ) 427 $(call COMPILE_C_OBJ,)
428 428
429 $(OBJPATH)lib64fmts.o: $(DMLIB)tools/lib64fmts.c $(OBJPATH)lib64gfx.o 429 $(OBJPATH)lib64fmts.o: $(DMLIB)tools/lib64fmts.c $(OBJPATH)lib64gfx.o
430 $(COMPILE_C_OBJ) 430 $(call COMPILE_C_OBJ,)
431 431
432 $(OBJPATH)64vw.o: $(DMLIB)tools/64vw.c $(OBJPATH)lib64util.o 432 $(OBJPATH)64vw.o: $(DMLIB)tools/64vw.c $(OBJPATH)lib64util.o
433 $(COMPILE_C_OBJ) 433 $(call COMPILE_C_OBJ,)
434 434
435 $(OBJPATH)gfxconv.o: $(DMLIB)tools/gfxconv.c $(OBJPATH)lib64util.o 435 $(OBJPATH)gfxconv.o: $(DMLIB)tools/gfxconv.c $(OBJPATH)lib64util.o
436 $(COMPILE_C_OBJ) 436 $(call COMPILE_C_OBJ,)
437 437
438 $(OBJPATH)ppl.o: $(TOOL_SRC)ppl.c $(DMLIB_SRC)setupfont.h \ 438 $(OBJPATH)ppl.o: $(TOOL_SRC)ppl.c $(DMLIB_SRC)setupfont.h \
439 $(OBJPATH)libgutil.o $(DMLIB_A) 439 $(OBJPATH)libgutil.o $(DMLIB_A)
440 $(COMPILE_C_OBJ) 440 $(call COMPILE_C_OBJ,)
441 441
442 442
443 $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt $(FONTCONV_DEP) 443 $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt $(FONTCONV_DEP)
444 @$(call DO_CMD,FONT,$@ $<,$(FONTCONV_BIN) $< $@) 444 @$(call DO_CMD,FONT,$@ $<,$(FONTCONV_BIN) $< $@)
445 445
453 @$(call DO_CMD,DATA,$@ $<,$(DATA2INC_BIN) -q -f c -n engineSetupMenuBar -t Uint8 $< $@ > /dev/null) 453 @$(call DO_CMD,DATA,$@ $<,$(DATA2INC_BIN) -q -f c -n engineSetupMenuBar -t Uint8 $< $@ > /dev/null)
454 454
455 455
456 $(OBJPATH)dmsimple.o: $(addprefix $(DMLIB_SRC), dmsimple.c dmengine.h \ 456 $(OBJPATH)dmsimple.o: $(addprefix $(DMLIB_SRC), dmsimple.c dmengine.h \
457 setupmenubar.h setupfont.h setupimage.h dmsimple.c) 457 setupmenubar.h setupfont.h setupimage.h dmsimple.c)
458 $(COMPILE_C_OBJ) 458 $(call COMPILE_C_OBJ,)
459 459
460 460
461 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen $(DM_CONFIG) 461 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen $(DM_CONFIG)
462 $(LINK_STATIC_LIB) 462 $(call LINK_STATIC_LIB,)
463 463
464 464
465 ### 465 ###
466 ### Tests 466 ### Tests
467 ### 467 ###
468 $(TESTS_BINPATH)blittest$(BINEXT): $(OBJPATH)blittest.o $(DMLIB_A) 468 $(TESTS_BINPATH)blittest$(BINEXT): $(OBJPATH)blittest.o $(DMLIB_A)
469 $(LINK_C_BIN) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm 469 $(call LINK_C_BIN, $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm)
470 470
471 $(TESTS_BINPATH)dzlibtest$(BINEXT): $(OBJPATH)dzlibtest.o $(DMLIB_A) 471 $(TESTS_BINPATH)dzlibtest$(BINEXT): $(OBJPATH)dzlibtest.o $(DMLIB_A)
472 $(LINK_C_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) 472 $(call LINK_C_BIN, $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS))
473 473
474 $(TESTS_BINPATH)plrtest$(BINEXT): $(OBJPATH)plrtest.o $(DMLIB_A) 474 $(TESTS_BINPATH)plrtest$(BINEXT): $(OBJPATH)plrtest.o $(DMLIB_A)
475 $(LINK_C_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) -lm 475 $(call LINK_C_BIN, $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) -lm)
476 476
477 $(TESTS_BINPATH)%test$(BINEXT): $(OBJPATH)%test.o $(DMLIB_A) 477 $(TESTS_BINPATH)%test$(BINEXT): $(OBJPATH)%test.o $(DMLIB_A)
478 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm 478 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm)
479 479
480 480
481 ### 481 ###
482 ### Tools 482 ### Tools
483 ### 483 ###
484 $(TOOL_BINPATH)fontconv$(BINEXT): $(OBJPATH)fontconv.o $(DMLIB_A) 484 $(TOOL_BINPATH)fontconv$(BINEXT): $(OBJPATH)fontconv.o $(DMLIB_A)
485 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) $(ZLIB_LDFLAGS) -lm 485 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) $(ZLIB_LDFLAGS) -lm)
486 486
487 $(TOOL_BINPATH)data2inc$(BINEXT): $(OBJPATH)data2inc.o $(DMLIB_A) 487 $(TOOL_BINPATH)data2inc$(BINEXT): $(OBJPATH)data2inc.o $(DMLIB_A)
488 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) 488 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS))
489 489
490 $(TOOL_BINPATH)packed$(BINEXT): $(OBJPATH)packed.o $(DMLIB_A) 490 $(TOOL_BINPATH)packed$(BINEXT): $(OBJPATH)packed.o $(DMLIB_A)
491 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) 491 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS))
492 492
493 $(TOOL_BINPATH)mod2wav$(BINEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) 493 $(TOOL_BINPATH)mod2wav$(BINEXT): $(OBJPATH)mod2wav.o $(DMLIB_A)
494 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) -lm 494 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) -lm)
495 495
496 $(TOOL_BINPATH)xm2jss$(BINEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) 496 $(TOOL_BINPATH)xm2jss$(BINEXT): $(OBJPATH)xm2jss.o $(DMLIB_A)
497 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) 497 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS))
498 498
499 $(TOOL_BINPATH)dumpmod$(BINEXT): $(OBJPATH)dumpmod.o $(DMLIB_A) 499 $(TOOL_BINPATH)dumpmod$(BINEXT): $(OBJPATH)dumpmod.o $(DMLIB_A)
500 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) 500 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS))
501 501
502 502
503 $(TOOL_BINPATH)ppl$(BINEXT): $(OBJPATH)ppl.o $(OBJPATH)libgutil.o $(DMLIB_A) 503 $(TOOL_BINPATH)ppl$(BINEXT): $(OBJPATH)ppl.o $(OBJPATH)libgutil.o $(DMLIB_A)
504 $(LINK_C_BIN) $(DM_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) -lm 504 $(call LINK_C_BIN, $(DM_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) -lm)
505 505
506 $(TOOL_BINPATH)objlink$(BINEXT): $(OBJPATH)objlink.o $(DMLIB_A) 506 $(TOOL_BINPATH)objlink$(BINEXT): $(OBJPATH)objlink.o $(DMLIB_A)
507 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) 507 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS))
508 508
509 $(TOOL_BINPATH)fanalyze$(BINEXT): $(OBJPATH)fanalyze.o $(DMLIB_A) 509 $(TOOL_BINPATH)fanalyze$(BINEXT): $(OBJPATH)fanalyze.o $(DMLIB_A)
510 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) 510 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS))
511 511
512 $(TOOL_BINPATH)gfxconv$(BINEXT): $(OBJPATH)gfxconv.o $(OBJPATH)lib64gfx.o \ 512 $(TOOL_BINPATH)gfxconv$(BINEXT): $(OBJPATH)gfxconv.o $(OBJPATH)lib64gfx.o \
513 $(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A) 513 $(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A)
514 $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) 514 $(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS))
515 515
516 $(TOOL_BINPATH)64vw$(BINEXT): $(OBJPATH)64vw.o $(OBJPATH)lib64gfx.o \ 516 $(TOOL_BINPATH)64vw$(BINEXT): $(OBJPATH)64vw.o $(OBJPATH)lib64gfx.o \
517 $(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A) 517 $(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A)
518 $(LINK_C_BIN) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) 518 $(call LINK_C_BIN, $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS))
519 519
520 520
521 ### 521 ###
522 ### Demo binary 522 ### Demo binary
523 ### 523 ###
524 ifneq ($(DEMO_BIN),) 524 ifneq ($(DEMO_BIN),)
525 $(BINPATH)$(DEMO_BIN)$(BINEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) 525 $(BINPATH)$(DEMO_BIN)$(BINEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A)
526 $(LINK_C_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS) -lm 526 $(call LINK_C_BIN, $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS) -lm)
527 endif 527 endif
528 528
529 529
530 ### 530 ###
531 ### Editor targets 531 ### Editor targets