]> git.sur5r.net Git - cc65/blobdiff - src/Makefile
Deduct temporary library path name from library path name.
[cc65] / src / Makefile
index 1a55f1fb256d76109d7ab03935c859d1dae45a8e..7bdd5206ab6fc018205932ef6ca1116b9a5b2a8c 100644 (file)
@@ -1,3 +1,7 @@
+.SUFFIXES:
+
+.PHONY: all bin $(PROGS) mostlyclean clean install avail unavail
+
 ifeq ($(shell echo),)
 
 PROGS = ar65  \
@@ -12,31 +16,25 @@ PROGS = ar65  \
         sim65 \
         sp65
 
-ifdef prefix
-  CA65_INC = $(prefix)/lib/cc65/asminc
-  CC65_INC = $(prefix)/lib/cc65/include
-  LD65_LIB = $(prefix)/lib/cc65/lib
-  LD65_OBJ = $(prefix)/lib/cc65/lib
-  LD65_CFG = $(prefix)/lib/cc65/cfg
-else
-  CA65_INC := $(abspath ../asminc)
-  CC65_INC := $(abspath ../include)
-  LD65_LIB := $(abspath ../lib)
-  LD65_OBJ := $(abspath ../lib)
-  LD65_CFG := $(abspath ../cfg)
-endif
+bindir  := $(prefix)/bin
+datadir := $(if $(prefix),$(prefix)/share/cc65,$(abspath ..))
+
+CA65_INC = $(datadir)/asminc
+CC65_INC = $(datadir)/include
+LD65_LIB = $(datadir)/lib
+LD65_OBJ = $(datadir)/lib
+LD65_CFG = $(datadir)/cfg
 
 CFLAGS += -MMD -MP -O -std=c89 -I common \
-          -Wall -Wextra -Wno-char-subscripts -Werror \
+          -Wall -Wextra -Wno-char-subscripts $(USER_CFLAGS) \
           -DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
-          -DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG) \
-          $(USER_CFLAGS)
+          -DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
 
-LDLIBS += -lm
+CFLAGS += $(if $(TRAVIS),-Werror)
 
-.SUFFIXES:
+LDLIBS += -lm
 
-.PHONY: all bin $(PROGS) mostlyclean clean avail unavail
+INSTALL = install
 
 all bin: $(PROGS)
 
@@ -46,6 +44,11 @@ mostlyclean:
 clean:
        $(RM) -r ../wrk ../bin
 
+install:
+       $(if $(prefix),,$(error variable `prefix' must be set))
+       $(INSTALL) -d $(DESTDIR)$(bindir)
+       $(INSTALL) ../bin/* $(DESTDIR)$(bindir)
+
 avail:
        $(foreach prog,$(PROGS),$(AVAIL_recipe))
 
@@ -115,10 +118,6 @@ $(foreach prog,$(PROGS),$(eval $(call PROG_template,$(prog))))
 
 else # cmd.exe
 
-.SUFFIXES:
-
-.PHONY: all bin mostlyclean clean
-
 all bin:
        msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor
 
@@ -128,4 +127,6 @@ mostlyclean:
 clean:
        msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor /target:$@
 
+install avail unavail:
+
 endif # cmd.exe