Added 'install' target.
The 'install' target primarily aims to support pacaking tools. Therefore... - It just presumes a "capable" install program to be present. - There's intentionally no 'uninstall' target.
This commit is contained in:
parent
4452156d1a
commit
e320fe3db8
3 changed files with 42 additions and 17 deletions
4
Makefile
4
Makefile
|
@ -1,4 +1,4 @@
|
||||||
all mostlyclean clean:
|
all mostlyclean clean install:
|
||||||
@$(MAKE) -C src --no-print-directory $@
|
@$(MAKE) -C src --no-print-directory $@
|
||||||
@$(MAKE) -C libsrc --no-print-directory $@
|
@$(MAKE) -C libsrc --no-print-directory $@
|
||||||
|
|
||||||
|
@ -14,6 +14,6 @@ lib:
|
||||||
%:
|
%:
|
||||||
@$(MAKE) -C libsrc --no-print-directory $@
|
@$(MAKE) -C libsrc --no-print-directory $@
|
||||||
|
|
||||||
.PHONY: all mostlyclean clean avail unavail bin lib
|
.PHONY: all mostlyclean clean install avail unavail bin lib
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
|
@ -50,10 +50,18 @@ endif
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
.PHONY: all lib $(TARGETS) mostlyclean clean
|
.PHONY: all lib $(TARGETS) mostlyclean clean install
|
||||||
|
|
||||||
ifndef TARGET
|
ifndef TARGET
|
||||||
|
|
||||||
|
datadir = $(prefix)/share/cc65
|
||||||
|
|
||||||
|
INSTALLDIRS = ../asminc ../cfg ../include \
|
||||||
|
$(filter-out $(wildcard ../include/*.*),$(wildcard ../include/*)) \
|
||||||
|
../lib ../targetutil $(addprefix ../,$(DRVTYPES))
|
||||||
|
|
||||||
|
INSTALL = install
|
||||||
|
|
||||||
all lib: $(TARGETS)
|
all lib: $(TARGETS)
|
||||||
|
|
||||||
$(TARGETS):
|
$(TARGETS):
|
||||||
|
@ -65,6 +73,21 @@ mostlyclean:
|
||||||
clean:
|
clean:
|
||||||
$(call RMDIR,../wrk ../lib ../targetutil $(addprefix ../,$(DRVTYPES)))
|
$(call RMDIR,../wrk ../lib ../targetutil $(addprefix ../,$(DRVTYPES)))
|
||||||
|
|
||||||
|
install:
|
||||||
|
$(foreach dir,$(INSTALLDIRS),$(INSTALL_recipe))
|
||||||
|
|
||||||
|
##########
|
||||||
|
|
||||||
|
define INSTALL_recipe
|
||||||
|
|
||||||
|
$(if $(prefix),,$(error variable `prefix' must be set))
|
||||||
|
$(INSTALL) -d $(subst ..,$(DESTDIR)$(datadir),$(dir))
|
||||||
|
$(INSTALL) -m644 $(dir)/* $(subst ..,$(DESTDIR)$(datadir),$(dir))
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
##########
|
||||||
|
|
||||||
else # TARGET
|
else # TARGET
|
||||||
|
|
||||||
CA65FLAGS =
|
CA65FLAGS =
|
||||||
|
|
30
src/Makefile
30
src/Makefile
|
@ -12,19 +12,14 @@ PROGS = ar65 \
|
||||||
sim65 \
|
sim65 \
|
||||||
sp65
|
sp65
|
||||||
|
|
||||||
ifdef prefix
|
bindir := $(prefix)/bin
|
||||||
CA65_INC = $(prefix)/lib/cc65/asminc
|
datadir := $(if $(prefix),$(prefix)/share/cc65,$(abspath ..))
|
||||||
CC65_INC = $(prefix)/lib/cc65/include
|
|
||||||
LD65_LIB = $(prefix)/lib/cc65/lib
|
CA65_INC = $(datadir)/asminc
|
||||||
LD65_OBJ = $(prefix)/lib/cc65/lib
|
CC65_INC = $(datadir)/include
|
||||||
LD65_CFG = $(prefix)/lib/cc65/cfg
|
LD65_LIB = $(datadir)/lib
|
||||||
else
|
LD65_OBJ = $(datadir)/lib
|
||||||
CA65_INC := $(abspath ../asminc)
|
LD65_CFG = $(datadir)/cfg
|
||||||
CC65_INC := $(abspath ../include)
|
|
||||||
LD65_LIB := $(abspath ../lib)
|
|
||||||
LD65_OBJ := $(abspath ../lib)
|
|
||||||
LD65_CFG := $(abspath ../cfg)
|
|
||||||
endif
|
|
||||||
|
|
||||||
CFLAGS += -MMD -MP -O -std=c89 -I common \
|
CFLAGS += -MMD -MP -O -std=c89 -I common \
|
||||||
-Wall -Wextra -Wno-char-subscripts -Werror $(USER_CFLAGS) \
|
-Wall -Wextra -Wno-char-subscripts -Werror $(USER_CFLAGS) \
|
||||||
|
@ -33,9 +28,11 @@ CFLAGS += -MMD -MP -O -std=c89 -I common \
|
||||||
|
|
||||||
LDLIBS += -lm
|
LDLIBS += -lm
|
||||||
|
|
||||||
|
INSTALL = install
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
.PHONY: all bin $(PROGS) mostlyclean clean avail unavail
|
.PHONY: all bin $(PROGS) mostlyclean clean install avail unavail
|
||||||
|
|
||||||
all bin: $(PROGS)
|
all bin: $(PROGS)
|
||||||
|
|
||||||
|
@ -45,6 +42,11 @@ mostlyclean:
|
||||||
clean:
|
clean:
|
||||||
$(RM) -r ../wrk ../bin
|
$(RM) -r ../wrk ../bin
|
||||||
|
|
||||||
|
install:
|
||||||
|
$(if $(prefix),,$(error variable `prefix' must be set))
|
||||||
|
$(INSTALL) -d $(DESTDIR)$(bindir)
|
||||||
|
$(INSTALL) ../bin/* $(DESTDIR)$(bindir)
|
||||||
|
|
||||||
avail:
|
avail:
|
||||||
$(foreach prog,$(PROGS),$(AVAIL_recipe))
|
$(foreach prog,$(PROGS),$(AVAIL_recipe))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue