aboutsummaryrefslogtreecommitdiff
path: root/externals/Makefile.buildlayout
blob: 5a2ec76c3867525858457e67b710902ae534c46b (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

## Makefile.buildlayout

# This file should be exactly the same in each section of the CVS.  A copy is
# kept in each section of the CVS so that each section will be self-contained.
# To use it, you need to include it in your Makefile (i.e. "include
# Makefile.buildlayout") and then define $(INSTALL_PREFIX) and $(SRC_ROOT_DIR).
#
# $(SRC_ROOT_DIR) is the base directory of src tree, equivalent to the root
# level of the pure-data CVS.
#
# $(INSTALL_PREFIX) is the base directory to where all of the resulting files
# will be copied.
#
# This file is currently located in these places: 
#	  abstractions
#	  externals/build
# 	  packages
#
# it will be going here too:
#    doc
#    extensions
#    gem
#    pd
#
# <hans@at.or.at>

#------------------------------------------------------------------------------#
# PLATFORM-SPECIFIC SETTINGS
#------------------------------------------------------------------------------#
# which OS to compile for
UNAME := $(shell uname -s)
ifeq ($(UNAME),Linux)
  OS_NAME = linux
  EXTENSION = pd_linux
else 
  ifeq ($(UNAME),Darwin)
    OS_NAME = darwin
    EXTENSION = pd_darwin
  else
    ifeq (MINGW,$(findstring MINGW,$(UNAME)))
      OS_NAME = win
      EXTENSION = dll
    else
      OS_NAME = unknown
      EXTENSION = so
      $(warning WARNING: unknown environment "$(UNAME)".)
    endif
  endif
endif

# sources
ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions
DOC_SRC = $(SRC_ROOT_DIR)/doc
EXTERNALS_SRC = $(SRC_ROOT_DIR)/externals
FLEXT_SRC = $(SRC_ROOT_DIR)/externals/grill/flext
GEM_SRC = $(SRC_ROOT_DIR)/Gem
GEMLIBS_SRC = $(SRC_ROOT_DIR)/GemLibs
PD_SRC = $(SRC_ROOT_DIR)/pd
SCRIPTS_SRC = $(SRC_ROOT_DIR)/scripts


# destinations
APPLICATIONS_DEST = $(DOCS_DEST)/examples
DOCS_DEST = $(INSTALL_PREFIX)/doc
OBJECTS_DEST = $(INSTALL_PREFIX)/extra
HELP_DEST = $(DOCS_DEST)/5.reference
MANUALS_DEST = $(DOCS_DEST)/manuals

#------------------------------------------------------------------------------#
# DIRECTORY STRUCTURE TARGETS
#------------------------------------------------------------------------------#
# first make sure that the directory structure is setup
$(INSTALL_PREFIX):
	install -d $(INSTALL_PREFIX)

$(APPLICATIONS_DEST):  $(INSTALL_PREFIX)
	install -d $(APPLICATIONS_DEST)

$(DOCS_DEST): $(INSTALL_PREFIX)
	install -d $(DOCS_DEST)

$(HELP_DEST): $(INSTALL_PREFIX)
	install -d $(HELP_DEST)

$(MANUALS_DEST): $(INSTALL_PREFIX)
	install -d $(MANUALS_DEST)

$(OBJECTS_DEST): $(INSTALL_PREFIX)
	install -d $(OBJECTS_DEST)