aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/make-inc.pd-msvc
blob: 56870d4297904d7ca85c935cce0a815feda4bbb5 (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
# flext - C++ layer for Max/MSP and pd (pure data) externals
# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
#
# ----- for internal use ----------------------
#

!include config-pd-msvc.txt

# source files
SOURCE=source

# includes
INCPATH=/I$(MSVCPATH)\include /I$(PDPATH)\src /I$(SOURCE)

!ifdef SNDOBJ
INCPATH=$(INCPATH) /I$(SNDOBJ)
!endif

# compiler definitions and flags
DEFS=/DPD /DNT 

CFLAGS=/GR- /GX- /GD /G6
OFLAGS=/Ox
DFLAGS=/Od /Zi

TARGET=pdwin  # appendix to lib name


!ifdef FLEXT_THREADS
DEFS=$(DEFS) /DFLEXT_THREADS

!ifndef _DEBUG
CFLAGS=$(CFLAGS) $(OFLAGS) /MT
OBJPATH=t
!else
CFLAGS=$(CFLAGS) $(DFLAGS) /MTd
OBJPATH=td
!endif

!else

!ifndef _DEBUG
CFLAGS=$(CFLAGS) $(OFLAGS) /ML
OBJPATH=s
!else
CFLAGS=$(CFLAGS) $(DFLAGS) /MLd
OBJPATH=sd
!endif

!endif



# the rest can stay untouched
# ----------------------------------------------

# all the source files from the package
!include make-files.txt

!ifdef SNDOBJ
SRCS=$(SRCS) $(SRCS_SNDOBJ)
HDRS=$(HDRS) $(HDRS_SNDOBJ)
!endif

#default target
all: $(OUTPATH)\$(NAME)-$(TARGET).lib

# remove build
clean:
	-cd $(OUTPATH)
	-del /s /q $(OBJPATH) > nul
	-rmdir $(OBJPATH)
	-cd ..
	-del /q $(OUTPATH)\$(NAME)-$(TARGET).lib > nul
	-rmdir $(OUTPATH)

# -----------------------------------------------

OBJS= $(SRCS:.cpp=.obj)

{$(SOURCE)\}.cpp.obj:
	@-if not exist $(OUTPATH) mkdir $(OUTPATH)
	@cd $(OUTPATH)
	@-if not exist $(OBJPATH) mkdir $(OBJPATH)
	@cd ..
	cl /c $(CFLAGS) $(DEFS) $(INCPATH) /Fo$(OUTPATH)\$(OBJPATH)\$@ $<

$(OUTPATH)\$(NAME)-$(TARGET).lib: $(OBJS)
	@cd $(OUTPATH)\$(OBJPATH)
	lib /OUT:..\$(NAME)-$(TARGET).lib $**
	@cd ..\..
!ifdef INSTDIR
	@-if not exist $(OBJPATH) mkdir $(INSTDIR)
	copy $(OUTPATH)\$(NAME)-$(TARGET).lib $(INSTDIR) > nul
	copy $(SOURCE)\*.h $(INSTDIR) > nul
!endif