comparison Makefile @ 289:b67a118dbdb7 ccdev

Updated Makefile to install additonal components of lwcc Unlike lwasm, lwlink, and lwar, lwcc requires additional runtime support files. Updated the Makefile to install them.
author William Astle <lost@l-w.ca>
date Sun, 08 Sep 2013 16:55:21 -0600
parents fc76f1a0dc49
children 40ecbd5da481
comparison
equal deleted inserted replaced
288:fc76f1a0dc49 289:b67a118dbdb7
5 # BUILDTPREFIX: prefix added to build utilities (cc, etc.) for xcompile 5 # BUILDTPREFIX: prefix added to build utilities (cc, etc.) for xcompile
6 # can also set them when invoking "make" 6 # can also set them when invoking "make"
7 #PROGSUFFIX := .exe 7 #PROGSUFFIX := .exe
8 #BUILDTPREFIX=i586-mingw32msvc- 8 #BUILDTPREFIX=i586-mingw32msvc-
9 9
10 LWTOOLS_VERSION = 4.8
11 LWTOOLS_VERSION_SUFFIX = -devcc
12
13 PACKAGE_VERSION = $(LWTOOLS_VERSION)$(LWTOOLS_VERSION_SUFFIX)
14
15 ifeq ($(PREFIX),)
10 ifneq ($(DESTDIR),) 16 ifneq ($(DESTDIR),)
11 INSTALLDIR = $(DESTDIR)/usr/bin 17 PREFIX = /usr
12 else 18 else
13 INSTALLDIR ?= /usr/local/bin 19 PREFIX = /usr/local
14 endif 20 endif
21 endif
22
23 LIBDIR = $(PREFIX)/lib
24 BINDIR = $(PREFIX)/bin
25
26 INSTALLDIR = $(DESTDIR)$(PREFIX)
27 INSTALLBIN = $(DESTDIR)$(BINDIR)
28 INSTALLLIB = $(DESTDIR)$(LIBDIR)
29
30 LWCC_LIBDIR = $(LIBDIR)/lwcc/$(PACKAGE_VERSION)
31 LWCC_INSTALLLIBDIR = $(DESTDIR)$(LWCC_LIBDIR)
15 32
16 # this are probably pointless but they will make sure 33 # this are probably pointless but they will make sure
17 # the variables are set without overriding the environment 34 # the variables are set without overriding the environment
18 # or automatic values from make itself. 35 # or automatic values from make itself.
19 CC ?= cc 36 CC ?= cc
25 CC := $(BUILDTPREFIX)$(CC) 42 CC := $(BUILDTPREFIX)$(CC)
26 AR := $(BUILDTPREFIX)$(AR) 43 AR := $(BUILDTPREFIX)$(AR)
27 RANLIB := $(BUILDTPREFIX)$(RANLIB) 44 RANLIB := $(BUILDTPREFIX)$(RANLIB)
28 endif 45 endif
29 46
30 CPPFLAGS += -I lwlib -DPACKAGE_STRING='"lwtools 4.8"' 47 CPPFLAGS += -I lwlib -DPACKAGE_STRING='"lwtools $(PACKAGE_VERSION)"'
48 CPPFLAGS += -DPREFIX=$(PREFIX) -DLWCC_LIBDIR=$(LWCC_LIBDIR)
49 CPPFLAGS += -DPROGSUFFIX=$(PROGSUFFIX)
31 LDFLAGS += -L$(PWD)/lwlib -llw 50 LDFLAGS += -L$(PWD)/lwlib -llw
32 51
33 CFLAGS ?= -O3 -Wall 52 CFLAGS ?= -O3 -Wall
34 53
35 MAIN_TARGETS := lwasm/lwasm$(PROGSUFFIX) \ 54 MAIN_TARGETS := lwasm/lwasm$(PROGSUFFIX) \
36 lwlink/lwlink$(PROGSUFFIX) \ 55 lwlink/lwlink$(PROGSUFFIX) \
37 lwar/lwar$(PROGSUFFIX) \ 56 lwar/lwar$(PROGSUFFIX) \
38 lwlink/lwobjdump$(PROGSUFFIX) 57 lwlink/lwobjdump$(PROGSUFFIX) \
58 lwcc/driver/lwcc$(PROGSUFFIX)
59
60 LWCC_LIBBIN_FILES =
61 LWCC_LIBLIB_FILES =
62 LWCC_LIBINC_FILES =
39 63
40 .PHONY: all 64 .PHONY: all
41 all: $(MAIN_TARGETS) 65 all: $(MAIN_TARGETS)
42 66
43 lwar_srcs := add.c extract.c list.c lwar.c main.c remove.c replace.c 67 lwar_srcs := add.c extract.c list.c lwar.c main.c remove.c replace.c
149 print-%: 173 print-%:
150 @echo $* = $($*) 174 @echo $* = $($*)
151 175
152 .PHONY: install 176 .PHONY: install
153 install: 177 install:
154 install -d $(INSTALLDIR) 178 install -d $(INSTALLBIN)
155 install $(MAIN_TARGETS) $(INSTALLDIR) 179 install $(MAIN_TARGETS) $(INSTALLBIN)
180 install -d $(LWCC_INSTALLLIBDIR)
181 install -d $(LWCC_INSTALLLIBDIR)/bin
182 install -d $(LWCC_INSTALLLIBDIR)/lib
183 install -d $(LWCC_INSTALLLIBDIR)/include
184 ifneq ($(LWCC_LIBBIN_FILES),)
185 install $(LWCC_LIBBIN_FILES) $(LIBCC_INSTALLLIBDIR)/bin
186 endif
187 ifneq ($(LWCC_LIBLIB_FILES),)
188 install $(LWCC_LIBLIB_FILES) $(LIBCC_INSTALLLIBDIR)/lib
189 endif
190 ifneq ($(LWCC_LIBINC_FILES),)
191 install $(LWCC_LIBINC_FILES) $(LIBCC_INSTALLLIBDIR)/include
192 endif
156 193
157 .PHONY: test 194 .PHONY: test
158 test: all test/runtests 195 test: all test/runtests
159 @test/runtests 196 @test/runtests
160 197