I must admit that I don't understand why but obviously it is necessary to place .PHONY below the definition of variables it refers to - although those variables are recursively expanded ones! Not doing so made libsrc/Makefile build only three target libraries.
CMD_EXE = 1
endif
-.PHONY: all mostlyclean clean install lib $(TARGETS)
-
-.SUFFIXES:
-
CBMS = c128 \
c16 \
c64 \
ser \
tgi
+.PHONY: all mostlyclean clean install lib $(TARGETS)
+
+.SUFFIXES:
+
ifdef CMD_EXE
DIRLIST = $(strip $(foreach dir,$1,$(wildcard $(dir))))
MKDIR = mkdir $(subst /,\,$1)
CMD_EXE = 1
endif
-.PHONY: all mostlyclean clean install avail unavail bin $(PROGS)
-
-.SUFFIXES:
-
PROGS = ar65 \
ca65 \
cc65 \
sim65 \
sp65
+.PHONY: all mostlyclean clean install avail unavail bin $(PROGS)
+
+.SUFFIXES:
+
bindir := $(prefix)/bin
datadir := $(if $(prefix),$(prefix)/share/cc65,$(abspath ..))