12 CA65_INC := $(abspath ../asminc)
13 CC65_INC := $(abspath ../include)
14 LD65_LIB := $(abspath ../lib)
15 LD65_OBJ := $(abspath ../lib)
16 LD65_CFG := $(abspath ../cfg)
18 CFLAGS += -MMD -MP -O -std=c89 -I common \
19 -Wall -Wextra -Wno-char-subscripts -Werror \
20 -DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
21 -DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
34 $(foreach prog,$(PROGS),$(INSTALL_recipe))
37 $(foreach prog,$(PROGS),$(UNINSTALL_recipe))
39 .PHONY: all $(PROGS) mostlyclean clean install uninstall
45 ln -s $(abspath ../bin/$(prog)) /usr/local/bin/$(prog)
51 define UNINSTALL_recipe
53 $(RM) /usr/local/bin/$(prog)
61 $(1)_OBJS := $$(addprefix ../wrk/,$$(addsuffix .o,$$(basename $$(wildcard $(1)/*.c))))
63 $$($(1)_OBJS): | ../wrk/$(1)
68 DEPS += $$($(1)_OBJS:.o=.d)
76 $$(eval $$(call OBJS_template,$(1)))
78 ../bin/$(1): $$($(1)_OBJS) ../wrk/common/common.a | ../bin
79 $$(CC) $$(LDFLAGS) $$(LDLIBS) -o $$@ $$^
89 @$(CC) -c $(CFLAGS) -o $@ $<
94 $(eval $(call OBJS_template,common))
95 ../wrk/common/common.a: $(common_OBJS)
98 $(foreach prog,$(PROGS),$(eval $(call PROG_template,$(prog))))