3 .PHONY: all bin $(PROGS) mostlyclean clean install avail unavail
19 bindir := $(prefix)/bin
20 datadir := $(if $(prefix),$(prefix)/share/cc65,$(abspath ..))
22 CA65_INC = $(datadir)/asminc
23 CC65_INC = $(datadir)/include
24 LD65_LIB = $(datadir)/lib
25 LD65_OBJ = $(datadir)/lib
26 LD65_CFG = $(datadir)/cfg
28 CFLAGS += -MMD -MP -O -std=c89 -I common \
29 -Wall -Wextra -Wno-char-subscripts $(USER_CFLAGS) \
30 -DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
31 -DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
33 CFLAGS += $(if $(TRAVIS),-Werror)
45 $(RM) -r ../wrk ../bin
48 $(if $(prefix),,$(error variable `prefix' must be set))
49 $(INSTALL) -d $(DESTDIR)$(bindir)
50 $(INSTALL) ../bin/* $(DESTDIR)$(bindir)
53 $(foreach prog,$(PROGS),$(AVAIL_recipe))
56 $(foreach prog,$(PROGS),$(UNAVAIL_recipe))
62 ln -s $(abspath ../bin/$(prog)) /usr/local/bin/$(prog)
70 $(RM) /usr/local/bin/$(prog)
78 $1_OBJS := $$(patsubst %.c,../wrk/%.o,$$(wildcard $1/*.c))
80 $$($1_OBJS): | ../wrk/$1
85 DEPS += $$($1_OBJS:.o=.d)
93 $$(eval $$(call OBJS_template,$1))
95 ../bin/$1$(PROGEXT): $$($1_OBJS) ../wrk/common/common.a | ../bin
96 $$(CC) $$(LDFLAGS) -o $$@ $$^ $$(LDLIBS)
98 $1: ../bin/$1$(PROGEXT)
106 @$(CC) -c $(CFLAGS) -o $@ $<
111 $(eval $(call OBJS_template,common))
112 ../wrk/common/common.a: $(common_OBJS)
115 $(foreach prog,$(PROGS),$(eval $(call PROG_template,$(prog))))
122 msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor
125 $(if $(wildcard ../wrk),rmdir /s /q ..\wrk)
128 msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor /target:$@
130 install avail unavail: