forked from root-project/root
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Module.mk
84 lines (64 loc) · 2.69 KB
/
Module.mk
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
# Module.mk for oracle module
# Copyright (c) 2005 Rene Brun and Fons Rademakers
#
# Author: Yan Liu, 11/17/2004
MODNAME := oracle
MODDIR := $(ROOT_SRCDIR)/sql/$(MODNAME)
MODDIRS := $(MODDIR)/src
MODDIRI := $(MODDIR)/inc
ORACLEDIR := $(MODDIR)
ORACLEDIRS := $(ORACLEDIR)/src
ORACLEDIRI := $(ORACLEDIR)/inc
##### libOracle #####
ORACLEL := $(MODDIRI)/LinkDef.h
ORACLEDS := $(call stripsrc,$(MODDIRS)/G__Oracle.cxx)
ORACLEDO := $(ORACLEDS:.cxx=.o)
ORACLEDH := $(ORACLEDS:.cxx=.h)
ORACLEH := $(filter-out $(MODDIRI)/LinkDef%,$(wildcard $(MODDIRI)/*.h))
ORACLES := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
ORACLEO := $(call stripsrc,$(ORACLES:.cxx=.o))
ORACLEDEP := $(ORACLEO:.o=.d) $(ORACLEDO:.o=.d)
ORACLELIB := $(LPATH)/libOracle.$(SOEXT)
ORACLEMAP := $(ORACLELIB:.$(SOEXT)=.rootmap)
# used in the main Makefile
ORACLEH_REL := $(patsubst $(MODDIRI)/%.h,include/%.h,$(ORACLEH))
ALLHDRS += $(ORACLEH_REL)
ALLLIBS += $(ORACLELIB)
ALLMAPS += $(ORACLEMAP)
ifeq ($(CXXMODULES),yes)
CXXMODULES_HEADERS := $(patsubst include/%,header \"%\"\\n,$(ORACLEH_REL))
CXXMODULES_MODULEMAP_CONTENTS += module Sql_$(MODNAME) { \\n
CXXMODULES_MODULEMAP_CONTENTS += $(CXXMODULES_HEADERS)
CXXMODULES_MODULEMAP_CONTENTS += "export \* \\n"
CXXMODULES_MODULEMAP_CONTENTS += link \"$(ORACLELIB)\" \\n
CXXMODULES_MODULEMAP_CONTENTS += } \\n
endif
# include all dependency files
INCLUDEFILES += $(ORACLEDEP)
##### local rules #####
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME)
include/%.h: $(ORACLEDIRI)/%.h
cp $< $@
$(ORACLELIB): $(ORACLEO) $(ORACLEDO) $(ORDER_) $(MAINLIBS) $(ORACLELIBDEP)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libOracle.$(SOEXT) $@ "$(ORACLEO) $(ORACLEDO)" \
"$(ORACLELIBEXTRA) $(ORACLELIBDIR) $(ORACLECLILIB)"
$(call pcmrule,ORACLE)
$(noop)
$(ORACLEDS): $(ORACLEH) $(ORACLEL) $(ROOTCLINGEXE) $(call pcmdep,ORACLE)
$(MAKEDIR)
@echo "Generating dictionary $@..."
$(ROOTCLINGSTAGE2) -f $@ $(call dictModule,ORACLE) -c $(ORACLEINCDIR:%=-I%) $(ORACLEH) $(ORACLEL)
$(ORACLEMAP): $(ORACLEH) $(ORACLEL) $(ROOTCLINGEXE) $(call pcmdep,ORACLE)
$(MAKEDIR)
@echo "Generating rootmap $@..."
$(ROOTCLINGSTAGE2) -r $(ORACLEDS) $(call dictModule,ORACLE) -c $(ORACLEINCDIR:%=-I%) $(ORACLEH) $(ORACLEL)
all-$(MODNAME): $(ORACLELIB)
clean-$(MODNAME):
@rm -f $(ORACLEO) $(ORACLEDO)
clean:: clean-$(MODNAME)
distclean-$(MODNAME): clean-$(MODNAME)
@rm -f $(ORACLEDEP) $(ORACLEDS) $(ORACLEDH) $(ORACLELIB) $(ORACLEMAP)
distclean:: distclean-$(MODNAME)
##### extra rules ######
$(ORACLEO) $(ORACLEDO): CXXFLAGS += $(ORACLEINCDIR:%=-I%)