aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/py/makefile.pd-bcc
blob: e94abdf435e8609acfde0426c60f63164f0bbda6 (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
# py/pyext - python script object for PD and MaxMSP
# Copyright (C) 2002 Thomas Grill
#
# Makefile for BorlandC++ 
#
# usage: make -f makefile.pd-bcc
#
# ... no threads!
#
# ---------------------------------------------

!include config-pd-bcc.txt

NAME=py
SETUPFUNCTION=$(NAME)_setup

# flext stuff
TARGET=pdwin

# includes, libs
INCPATH=-I$(BCCPATH)\include -I$(PYTHONINCLUDE) -I$(PDPATH)\src -I$(FLEXTPATH)
LIBPATH=-L$(BCCPATH)\lib -L$(PDPATH)\lib 
LIBS=cw32.lib import32.lib C0D32.OBJ 

# compiler definitions and flags
DEFS=-DPD -DNT 
CFLAGS=-6 -O2 -OS -ff -tWD 


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

# all the source files from the package
SRCS= main.cpp py.cpp pyext.cpp modmeth.cpp clmeth.cpp register.cpp pyargs.cpp bound.cpp
HDRS= main.h pyext.h

# default target
all: $(OUTPATH)\$(NAME).dll

# remove build
clean:
	-del /s /q $(OUTPATH) > nul
	rmdir $(OUTPATH)


install:
	cp $(OUTPATH)\$(NAME).dll $(INSTDIR)
	
# ----------------------------------------------

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

#.PATH.OBJ=$(OUTPATH)

#$(SRCS): $(HDRS)
#	-touch $<

{source}.cpp.obj:
	bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(OUTPATH) $<

$(OUTPATH):
	-@if not exist $< mkdir $<

$(OUTPATH)\pd.lib: $(PDPATH)\bin\pd.dll 
	implib -a $< $**

$(OUTPATH)\python.lib: $(PYTHONBIN) 
	implib -a $< $** 

$(OUTPATH)\$(NAME).def:
	@echo EXPORTS $(SETUPFUNCTION) = _$(SETUPFUNCTION) > $<
	@echo IMPORTS _Py_Initialize = $(PYTHONVER).Py_Initialize >> $<
	@echo IMPORTS _Py_Finalize = $(PYTHONVER).Py_Finalize >> $<

$(OUTPATH)\$(NAME).dll :: $(OUTPATH) $(OUTPATH)\$(NAME).def $(OUTPATH)\pd.lib $(OUTPATH)\python.lib

$(OUTPATH)\$(NAME).dll :: $(OBJS) 
	cd $(OUTPATH)
	ilink32 -C -Tpd $(LIBPATH) $** ,..\$<,,$(LIBS) pd.lib python.lib $(FLEXTPATH)\flext-$(TARGET).lib ,$(NAME).def
	cd ..