File: example_common.mak

package info (click to toggle)
pycxx 5.4.1-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 660 kB
  • ctags: 1,292
  • sloc: cpp: 2,333; python: 205; makefile: 80; ansic: 22; sh: 9
file content (64 lines) | stat: -rw-r--r-- 1,289 bytes parent folder | download | duplicates (4)
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
#
#	example_common.mak
#
#	include this mak file after defining the variables it needs
#
COMMON_OBJECTS=cxxsupport.o cxx_extensions.o cxxextensions.o IndirectPythonInterface.o
EXAMPLE_OBJECTS=example.o range.o rangetest.o $(COMMON_OBJECTS)
PYCXX_ITER_OBJECTS=pycxx_iter.o $(COMMON_OBJECTS)

all: example.so pycxx_iter.so

#
#	Example
#
example.so: $(EXAMPLE_OBJECTS)
	$(LDSHARED) -o $@ $(EXAMPLE_OBJECTS) $(LDLIBS)

example.o: Demo/example.cxx
	$(CCC) $(CCCFLAGS) -o $@ $<

range.o: Demo/range.cxx
	$(CCC) $(CCCFLAGS) -o $@ $<

rangetest.o: Demo/rangetest.cxx
	$(CCC) $(CCCFLAGS) -o $@ $<

#
#	pycxx_iter
#
pycxx_iter.so: $(PYCXX_ITER_OBJECTS)
	$(LDSHARED) -o $@ $(PYCXX_ITER_OBJECTS) $(LDLIBS)

pycxx_iter.o: Demo/pycxx_iter.cxx
	$(CCC) $(CCCFLAGS) -o $@ $<

#
#	common objects
#
cxxsupport.o: Src/cxxsupport.cxx
	$(CCC) $(CCCFLAGS) -o $@ $<

cxx_extensions.o: Src/cxx_extensions.cxx
	$(CCC) $(CCCFLAGS) -o $@ $<

cxxextensions.o: Src/cxxextensions.c
	$(CC) -c $(CCCFLAGS) -o $@ $<

IndirectPythonInterface.o: Src/IndirectPythonInterface.cxx
	$(CCC) $(CCCFLAGS) -o $@ $< 

#
#	Clean rule
#
clean:
	rm -f *.o
	rm -f example.so
	rm -f pycxx_iter.so

#
#	test rule
#
test: example.so pycxx_iter.so
	PYTHONPATH=. $(PYTHON) Demo/test_example.py
	PYTHONPATH=. $(PYTHON) Demo/test_pycxx_iter.py