summaryrefslogtreecommitdiff
path: root/Makefile.config
blob: 3c33aa1af5af6d98d1bf4b600e998ded485dde00 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
############################################################-*-Makefile-*-####
# Project Configuration
##############################################################################
# $Id$

##############################################################################
# Read local configuration

-include $(ROOT)/Makefile.private

##############################################################################
# Project setup

PROJECT_NAME		?= scala
PROJECT_ROOT		?= $(ROOT)
PROJECT_BINARYDIR	?= $(PROJECT_ROOT)/bin
PROJECT_CONFIGDIR	?= $(PROJECT_ROOT)/config
PROJECT_DOCUMENTDIR	?= $(PROJECT_ROOT)/doc
PROJECT_LIBRARYDIR	?= $(PROJECT_ROOT)/lib
PROJECT_SUPPORTDIR	?= $(PROJECT_ROOT)/support
PROJECT_SOURCEDIR	?= $(PROJECT_ROOT)/sources
PROJECT_OUTPUTDIR	?= $(PROJECT_ROOT)/classes
PROJECT_CLASSPATH	?= $(PROJECT_OUTPUTDIR)
PROJECT_LISTDIR		?= $(PROJECT_CONFIGDIR)/list
PROJECT_APIDOCDIR	?= $(PROJECT_DOCUMENTDIR)/api

##############################################################################
# External libraries

# FJBG
FJBG_HOME		?= $(PROJECT_LIBDIR)/fjbg
FJBG_JARFILE            ?= $(FJBG_HOME)/fjbg.jar

# MSIL
MSIL_HOME		?= $(PROJECT_LIBDIR)/msil
MSIL_JARFILE		?= $(MSIL_HOME)/msil.jar

# BCEL (http://jakarta.apache.org/bcel/)
BCEL_HOME		?= $(PROJECT_LIBDIR)/bcel
BCEL_JARFILE		?= $(BCEL_HOME)/bcel.jar
BCEL_LICENSE		?= $(BCEL_HOME)/LICENSE

# XERCES (http://xml.apache.org/xerces2-j/)
XERCES_HOME		?= $(PROJECT_LIBDIR)/xerces
XERCES_JARFILE		?= $(XERCES_HOME)/xercesImpl.jar
XERCES_LICENSE		?= $(XERCES_HOME)/LICENSE

##############################################################################
# Standard tools

BASENAME		?= basename
CAT			?= cat
CHMOD			?= chmod
COMM			?= comm
CP			?= cp
DATE			?= date
DIRNAME			?= dirname
ECHO			?= echo
FIND			?= find
GREP			?= grep
INSTALL			?= $(PROJECT_SUPPORTDIR)/scripts/install
JAR			?= jar
JAVA			?= java
LN			?= ln
M4			?= m4
MIRROR			?= $(PROJECT_SUPPORTDIR)/scripts/mirror
MKDIR			?= mkdir
NICE			?= nice
RECODE			?= recode
RM			?= rm -f
SCSH			?= scsh
SED			?= sed
SORT			?= sort
TOUCH			?= touch
TR			?= tr
UNIX2DOS		?= $(RECODE) ..pc
WC			?= wc
XARGS			?= xargs
ZIP			?= zip

make			?= $(MAKE) MAKELEVEL=$(MAKELEVEL) --no-print-directory

##############################################################################
# Pico compiler

PICO			?= pico
PICO_FLAGS		?= -make -source 1.4

##############################################################################
# Scala compiler

SCALAC			?= $(PROJECT_BINARYDIR)/scalac
SCALADOC		?= $(PROJECT_BINARYDIR)/scaladoc

##############################################################################
# Makefile functions

RUN			?= $(ECHO) '$(1)'; $(1) || exit $$?
READLIST		?= $(shell $(CAT) $(1) | $(GREP) -v "^\#")

##############################################################################
# Includes

include $(PROJECT_SUPPORTDIR)/make/default.mk
include $(PROJECT_SUPPORTDIR)/make/cygwin.mk
include $(PROJECT_SUPPORTDIR)/make/exec.mk
include $(PROJECT_SUPPORTDIR)/make/grep.mk
include $(PROJECT_SUPPORTDIR)/make/wc.mk

##############################################################################
# Commands

cvs-fix-perms		:
	$(strip \
	    $(FIND) . -type f -perm +a=x | \
	    $(GREP) -v '.*/bin/.*' | \
	    $(XARGS) -r $(CHMOD) a-x)

.PHONY			: cvs-fix-perms

##############################################################################