aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/buildsys/bmake.mak
blob: 5b5ea10a20698528de7a86b76d0cc61666bbeb23 (plain)
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
# required settings:
#
# PLATFORM - win/mac/lnx
# RTSYS - pd/max
# COMPILER - msvc/gcc/mingw/cygwin
# BUILDPATH including trailing \

###############################################
# package info

!ifndef PKGINFO
PKGINFO=package.txt
!endif

!if "$(PKGINFO)" != "" && "$(PKGINFO)" != "1"
!include $(PKGINFO)
!endif

!ifndef NAME
!error NAME variable must be defined (name of target)
!endif

!ifndef SRCS
!error SRCS variable must be defined (list of source files)
!endif

###############################################
# check variables

!ifndef BUILDCLASS
BUILDCLASS=ext
!endif

!ifndef BUILDMODE
BUILDMODE=release
!endif

!ifndef BUILDTYPE
BUILDTYPE=single
!endif

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

#!ifndef TARGETMODE
#TARGETMODE=$(BUILDMODE)
#!endif

#!ifndef TARGETTYPE
#TARGETTYPE=$(BUILDTYPE)
#!endif

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

SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def

OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \
	PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
	BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS)

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

!ifdef BUILDDIR
USRCONFIG=config.txt
USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def

USRMAKE=$(BUILDDIR)\bmake-$(PLATFORM)-$(COMPILER).inc

OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE)
!endif

###############################################
# include file describing default target dependencies

!include $(BUILDPATH)targets.inc

!include $(BUILDPATH)targets-$(BUILDCLASS).inc

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

.precious: $(SYSCONFIG) $(USRCONFIG)

$(SYSCONFIG): $(SYSDEFAULT)
	@copy $** $@
	@echo -------------------------------------------------------------------------
	@echo A default system configuration file has been created.
	@echo Please edit $(SYSCONFIG) 
	@echo to match your platform and start again.
	@echo -------------------------------------------------------------------------
	@exit 1

!ifdef BUILDDIR
$(USRCONFIG): $(USRDEFAULT)
	@copy $** $@
	@echo -------------------------------------------------------------------------
	@echo A default package configuration file has been created.
	@echo Please edit $(USRCONFIG) and start again.
	@echo -------------------------------------------------------------------------
	@exit 1

$(USRDEFAULT) $(USRMAKE):
	@echo -------------------------------------------------------------------------
	@echo Your combination of platform, system and compiler is not supported yet.
	@echo Required files: 
	@echo $(USRDEFAULT)
	@echo and
	@echo $(USRMAKE)
	@echo -------------------------------------------------------------------------
	@exit 1
!endif