comparison Makefile.common @ 2615:f1b6d809e303

Remove libpng dependency from 64vw via libgfx.o by compiling a separate libgfx_base.o for use by 64vw etc.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 28 Nov 2023 17:42:37 +0200
parents 669b71e8b868
children e00a9e1f26c0
comparison
equal deleted inserted replaced
2614:c9741a11d1cd 2615:f1b6d809e303
261 endif 261 endif
262 262
263 263
264 ### libPNG handling 264 ### libPNG handling
265 ifeq ($(DM_USE_LIBPNG),yes) 265 ifeq ($(DM_USE_LIBPNG),yes)
266 DM_CFLAGS += -DDM_USE_LIBPNG $(LIBPNG_CFLAGS) 266 DM_LIBPNG_CFLAGS += -DDM_USE_LIBPNG $(LIBPNG_CFLAGS)
267 endif 267 endif
268 268
269 269
270 ### Check requirements for zlib 270 ### Check requirements for zlib
271 ifeq ($(DM_USE_ZLIB),yes) 271 ifeq ($(DM_USE_ZLIB),yes)
357 ### 357 ###
358 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) 358 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
359 359
360 360
361 $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h 361 $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h
362 $(call COMPILE_C_OBJ,) 362 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
363 363
364 $(OBJPATH)%.o: $(DMLIB)tests/%.c 364 $(OBJPATH)%.o: $(DMLIB)tests/%.c
365 $(call COMPILE_C_OBJ,) 365 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
366 366
367 $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h 367 $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h
368 $(call COMPILE_C_OBJ,) 368 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
369 369
370 $(OBJPATH)%.o: $(DMLIB)tools/%.c 370 $(OBJPATH)%.o: $(DMLIB)tools/%.c
371 $(call COMPILE_C_OBJ,) 371 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
372 372
373 $(OBJPATH)%.o: %.c %.h 373 $(OBJPATH)%.o: %.c %.h
374 $(call COMPILE_C_OBJ,) 374 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
375 375
376 $(OBJPATH)%.o: %.c 376 $(OBJPATH)%.o: %.c
377 $(call COMPILE_C_OBJ,) 377 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
378 378
379 $(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h 379 $(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h
380 $(call COMPILE_C_OBJ,) 380 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
381 381
382 $(OBJPATH)%.o: $(MINIJSS)%.c 382 $(OBJPATH)%.o: $(MINIJSS)%.c
383 $(call COMPILE_C_OBJ,) 383 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
384 384
385 $(OBJPATH)%.o: $(DMLIB_SRC)%.c $(DMLIB_SRC)%.h 385 $(OBJPATH)%.o: $(DMLIB_SRC)%.c $(DMLIB_SRC)%.h
386 $(call COMPILE_C_OBJ,) 386 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
387 387
388 $(OBJPATH)%.o: $(DMLIB_SRC)%.c 388 $(OBJPATH)%.o: $(DMLIB_SRC)%.c
389 $(call COMPILE_C_OBJ,) 389 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
390 390
391 391
392 ### 392 ###
393 ### dmlib-specific rules 393 ### dmlib-specific rules
394 ### 394 ###
395 $(MINIJSS)jmix_c.c: $(MINIJSS)jmix_c_in.c $(MINIJSS)jmixtmpl_c.h $(MINIJSS)jmix_post_c.h 395 $(MINIJSS)jmix_c.c: $(MINIJSS)jmix_c_in.c $(MINIJSS)jmixtmpl_c.h $(MINIJSS)jmix_post_c.h
396 (echo "#include \"jssmix.h\"" && cpp $< $(DM_CFLAGS)) | sed "s/^# .*//g" > $@ 396 (echo "#include \"jssmix.h\"" && cpp $< $(DM_CFLAGS)) | sed "s/^# .*//g" > $@
397 397
398 $(OBJPATH)dmimage.o: $(DMLIB_SRC)dmimage.c $(DMLIB_SRC)stb_image.c $(DMLIB_SRC)dmimage.h 398 $(OBJPATH)dmimage.o: $(DMLIB_SRC)dmimage.c $(DMLIB_SRC)stb_image.c $(DMLIB_SRC)dmimage.h
399 $(call COMPILE_C_OBJ,) 399 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
400 400
401 $(OBJPATH)dmresw.o: $(DMLIB_SRC)dmresw.c $(DMLIB_SRC)dmres.h 401 $(OBJPATH)dmresw.o: $(DMLIB_SRC)dmresw.c $(DMLIB_SRC)dmres.h
402 $(call COMPILE_C_OBJ,) 402 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
403 403
404 404
405 $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(OBJPATH)jss.o 405 $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(OBJPATH)jss.o
406 $(call COMPILE_C_OBJ,) 406 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
407 407
408 $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(OBJPATH)jssmod.o 408 $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(OBJPATH)jssmod.o
409 $(call COMPILE_C_OBJ,) 409 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
410 410
411 $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(OBJPATH)jssmix.o 411 $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(OBJPATH)jssmix.o
412 $(call COMPILE_C_OBJ,) 412 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
413 413
414 414
415 $(OBJPATH)dmblit.o: $(DMLIB_SRC)dmblit.c $(DMLIB_SRC)dmscaledblit.h $(DMLIB_SRC)dmunscaledblit.h $(DMLIB_SRC)dmblitfunc.h $(DMLIB_SRC)dmlib.h 415 $(OBJPATH)dmblit.o: $(DMLIB_SRC)dmblit.c $(DMLIB_SRC)dmscaledblit.h $(DMLIB_SRC)dmunscaledblit.h $(DMLIB_SRC)dmblitfunc.h $(DMLIB_SRC)dmlib.h
416 $(call COMPILE_C_OBJ,) 416 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
417 417
418 $(OBJPATH)dmline.o: $(DMLIB_SRC)dmline.c $(DMLIB_SRC)dmdrawline.h $(DMLIB_SRC)dmlinefunc.h $(DMLIB_SRC)dmlineclip.h $(DMLIB_SRC)dmlib.h 418 $(OBJPATH)dmline.o: $(DMLIB_SRC)dmline.c $(DMLIB_SRC)dmdrawline.h $(DMLIB_SRC)dmlinefunc.h $(DMLIB_SRC)dmlineclip.h $(DMLIB_SRC)dmlib.h
419 $(call COMPILE_C_OBJ,) 419 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
420 420
421 $(OBJPATH)libgfx.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h $(DMLIB_A) 421 $(OBJPATH)libgfx.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h $(DMLIB_A)
422 $(call COMPILE_C_OBJ,) 422 $(call COMPILE_C_OBJ,$(DM_CFLAGS) $(DM_LIBPNG_CFLAGS))
423
424 $(OBJPATH)libgfx_base.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h $(DMLIB_A)
425 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
423 426
424 $(OBJPATH)lib64gfx.o: $(DMLIB)tools/lib64gfx.c $(DMLIB)tools/lib64gfx.h $(OBJPATH)libgfx.o 427 $(OBJPATH)lib64gfx.o: $(DMLIB)tools/lib64gfx.c $(DMLIB)tools/lib64gfx.h $(OBJPATH)libgfx.o
425 $(call COMPILE_C_OBJ,) 428 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
426 429
427 $(OBJPATH)lib64util.o: $(DMLIB)tools/lib64util.c $(DMLIB)tools/lib64util.h $(OBJPATH)lib64gfx.o 430 $(OBJPATH)lib64util.o: $(DMLIB)tools/lib64util.c $(DMLIB)tools/lib64util.h $(OBJPATH)lib64gfx.o
428 $(call COMPILE_C_OBJ,) 431 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
429 432
430 $(OBJPATH)lib64fmts.o: $(DMLIB)tools/lib64fmts.c $(OBJPATH)lib64gfx.o 433 $(OBJPATH)lib64fmts.o: $(DMLIB)tools/lib64fmts.c $(OBJPATH)lib64gfx.o
431 $(call COMPILE_C_OBJ,) 434 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
432 435
433 $(OBJPATH)64vw.o: $(DMLIB)tools/64vw.c $(OBJPATH)lib64util.o 436 $(OBJPATH)64vw.o: $(DMLIB)tools/64vw.c $(OBJPATH)lib64util.o
434 $(call COMPILE_C_OBJ,) 437 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
435 438
436 $(OBJPATH)gfxconv.o: $(DMLIB)tools/gfxconv.c $(OBJPATH)lib64util.o 439 $(OBJPATH)gfxconv.o: $(DMLIB)tools/gfxconv.c $(OBJPATH)lib64util.o
437 $(call COMPILE_C_OBJ,) 440 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
438 441
439 $(OBJPATH)ppl.o: $(TOOL_SRC)ppl.c $(DMLIB_SRC)setupfont.h \ 442 $(OBJPATH)ppl.o: $(TOOL_SRC)ppl.c $(DMLIB_SRC)setupfont.h \
440 $(OBJPATH)libgutil.o $(DMLIB_A) 443 $(OBJPATH)libgutil.o $(DMLIB_A)
441 $(call COMPILE_C_OBJ,) 444 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
442 445
443 446
444 $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt $(FONTCONV_DEP) 447 $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt $(FONTCONV_DEP)
445 @$(call DO_CMD,FONT,$@ $<,$(FONTCONV_BIN) $< $@) 448 @$(call DO_CMD,FONT,$@ $<,$(FONTCONV_BIN) $< $@)
446 449
454 @$(call DO_CMD,DATA,$@ $<,$(DATA2INC_BIN) -q -f c -n engineSetupMenuBar -t Uint8 $< $@ > /dev/null) 457 @$(call DO_CMD,DATA,$@ $<,$(DATA2INC_BIN) -q -f c -n engineSetupMenuBar -t Uint8 $< $@ > /dev/null)
455 458
456 459
457 $(OBJPATH)dmsimple.o: $(addprefix $(DMLIB_SRC), dmsimple.c dmengine.h \ 460 $(OBJPATH)dmsimple.o: $(addprefix $(DMLIB_SRC), dmsimple.c dmengine.h \
458 setupmenubar.h setupfont.h setupimage.h dmsimple.c) 461 setupmenubar.h setupfont.h setupimage.h dmsimple.c)
459 $(call COMPILE_C_OBJ,) 462 $(call COMPILE_C_OBJ,$(DM_CFLAGS))
460 463
461 464
462 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.common $(DM_CONFIG) 465 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.common $(DM_CONFIG)
463 $(call LINK_STATIC_LIB,) 466 $(call LINK_STATIC_LIB,)
464 467
500 $(eval $(call RULE_TOOL_BIN,fanalyze,,)) 503 $(eval $(call RULE_TOOL_BIN,fanalyze,,))
501 504
502 $(eval $(call RULE_TOOL_BIN,gfxconv,\ 505 $(eval $(call RULE_TOOL_BIN,gfxconv,\
503 $$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \ 506 $$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \
504 $$(OBJPATH)lib64util.o $$(OBJPATH)libgfx.o,\ 507 $$(OBJPATH)lib64util.o $$(OBJPATH)libgfx.o,\
505 $$(LIBPNG_LDFLAGS) $$(ZLIB_LDFLAGS))) 508 $$(DM_LIBPNG_CFLAGS) $$(LIBPNG_LDFLAGS) $$(ZLIB_LDFLAGS)))
506 509
507 $(eval $(call RULE_TOOL_BIN,64vw,\ 510 $(eval $(call RULE_TOOL_BIN,64vw,\
508 $$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \ 511 $$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \
509 $$(OBJPATH)lib64util.o $$(OBJPATH)libgfx.o,\ 512 $$(OBJPATH)lib64util.o $$(OBJPATH)libgfx_base.o,\
510 $$(LIBPNG_LDFLAGS) $$(ZLIB_LDFLAGS) $$(SDL_LDFLAGS))) 513 $$(SDL_LDFLAGS)))
511 514
512 515
513 ### 516 ###
514 ### Demo binary 517 ### Demo binary
515 ### 518 ###