File: models.mk

package info (click to toggle)
ufoai-data 2.5-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 335,828 kB
  • ctags: 96
  • sloc: makefile: 192
file content (43 lines) | stat: -rw-r--r-- 1,448 bytes parent folder | download | duplicates (2)
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
MODELDIR ?= base/models

UFOMODEL = /usr/bin/ufomodel
UFOMODEL_PARAMS = -mdx -overwrite -v

MODELS_MD2 := $(shell find $(MODELDIR) -name "*.md2")
MODELS_MD3 := $(shell find $(MODELDIR) -name "*.md3")
MODELS_OBJ := $(shell find $(MODELDIR) -name "*.obj")
MODELS_DPM := $(shell find $(MODELDIR) -name "*.dpm")

# smoothing normals and tangents
define get-smooth-value
   $(if $(findstring /models/aircraft/,$(1)),  0.7, \
   $(if $(findstring /models/aliens/,$(1)),    0.3, \
   $(if $(findstring /models/animals/,$(1)),   0.0, \
   $(if $(findstring /models/civilians/,$(1)),-0.5, \
   $(if $(findstring /models/objects/,$(1)),   0.2, \
   $(if $(findstring /models/soldiers/,$(1)), -0.3, \
   $(if $(findstring /models/weapons/,$(1)),   0.6, \
   0.5)))))))
endef

MDXS_MD2 := $(MODELS_MD2:.md2=.mdx)
MDXS_MD3 := $(MODELS_MD3:.md3=.mdx)
MDXS_OBJ := $(MODELS_OBJ:.obj=.mdx)
MDXS_DPM := $(MODELS_DPM:.dpm=.mdx)
# TODO see https://sourceforge.net/tracker/?func=detail&aid=2993773&group_id=157793&atid=805242
#MDXS     := $(MDXS_MD2) $(MDXS_MD3) $(MDXS_OBJ) $(MDXS_DPM)
MDXS     := $(MDXS_MD2) $(MDXS_MD3) $(MDXS_DPM)

models: $(MDXS)

$(MDXS_MD2): %.mdx: %.md2
$(MDXS_MD3): %.mdx: %.md3
$(MDXS_OBJ): %.mdx: %.obj
$(MDXS_DPM): %.mdx: %.dpm

$(MDXS):
	$(UFOMODEL) $(UFOMODEL_PARAMS) -s $(strip $(call get-smooth-value,$<)) -f $(<:base/%=%)

clean-mdx:
	@echo "Deleting cached normals and tangents (*.mdx)..."
	$(Q)find $(MODELDIR) -name '*.mdx' -delete