1#*************************************************************************
2#
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# Copyright 2000, 2010 Oracle and/or its affiliates.
6#
7# OpenOffice.org - a multi-platform office productivity suite
8#
9# This file is part of OpenOffice.org.
10#
11# OpenOffice.org is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Lesser General Public License version 3
13# only, as published by the Free Software Foundation.
14#
15# OpenOffice.org is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18# GNU Lesser General Public License version 3 for more details
19# (a copy is included in the LICENSE file that accompanied this code).
20#
21# You should have received a copy of the GNU Lesser General Public License
22# version 3 along with OpenOffice.org.  If not, see
23# <http://www.openoffice.org/license.html>
24# for a copy of the LGPLv3 License.
25#
26#*************************************************************************
27
28.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
29nothing .PHONY:
30.ELSE
31
32PRJ := ../..
33PRJNAME := cppuhelper
34
35TARGET := qa_propertysetmixin
36PACKAGE = test/cppuhelper/propertysetmixin/comp
37
38ENABLE_EXCEPTIONS := TRUE
39
40my_components = $(TARGET).cpp $(TARGET).java
41
42.INCLUDE: settings.mk
43
44.IF "$(OS)" == "WNT"
45my_file = file:///
46.ELSE
47my_file = file://
48.END
49
50DLLPRE = # no leading "lib" on .so files
51INCPRE += -I$(MISC)/$(TARGET)/inc
52CFLAGSCXX += $(CPPUNIT_CFLAGS)
53
54SHL1TARGET = $(TARGET)
55SHL1OBJS = $(SLO)/test_propertysetmixin.obj
56SHL1VERSIONMAP = test.map
57SHL1STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(CPPUNITLIB) $(SALLIB)
58SHL1IMPLIB = i$(SHL1TARGET)
59SHL1RPATH = NONE
60DEF1NAME = $(SHL1TARGET)
61
62SHL2TARGET = $(TARGET).uno
63SHL2OBJS = $(SLO)/comp_propertysetmixin.obj
64SHL2VERSIONMAP = $(SOLARENV)/src/component.map
65SHL2STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB)
66SHL2IMPLIB = i$(SHL2TARGET)
67SH21RPATH = NONE
68DEF2NAME = $(SHL2TARGET)
69
70SLOFILES = $(SHL1OBJS) $(SHL2OBJS)
71
72JAVAFILES = JavaSupplier.java
73JARFILES = java_uno.jar juh.jar jurt.jar ridl.jar
74
75.INCLUDE: target.mk
76
77ALLTAR: test
78
79$(MISC)/$(TARGET)/types.urd: types.idl
80    $(MKDIRHIER) $(@:d)
81    $(IDLC) -O$(@:d) -I$(SOLARIDLDIR) -cid -we $<
82
83$(MISC)/$(TARGET)/types.rdb: $(MISC)/$(TARGET)/types.urd
84    - $(RM) $@
85    $(REGMERGE) $@ /UCR $<
86
87$(MISC)/$(TARGET)/cppumaker.flag: $(MISC)/$(TARGET)/types.rdb
88    $(CPPUMAKER) -O$(MISC)/$(TARGET)/inc -BUCR -Gc \
89        -X$(SOLARBINDIR)/udkapi.rdb $<
90    $(TOUCH) $@
91
92$(SLOFILES): $(MISC)/$(TARGET)/cppumaker.flag
93
94$(MISC)/$(TARGET)/javamaker.flag: $(MISC)/$(TARGET)/types.rdb
95    $(JAVAMAKER) -O$(CLASSDIR) -BUCR -nD -Gc -X$(SOLARBINDIR)/udkapi.rdb $<
96    $(TOUCH) $@
97
98$(JAVATARGET): $(MISC)/$(TARGET)/javamaker.flag
99
100$(MISC)/$(TARGET)/services.rdb .ERRREMOVE: $(SOLARENV)/bin/packcomponents.xslt \
101        $(MISC)/$(TARGET)/services.input \
102        $(my_components:^"$(MISC)/$(TARGET)/":+".component")
103    $(XSLTPROC) --nonet --stringparam prefix $(PWD)/$(MISC)/$(TARGET)/ -o $@ \
104        $(SOLARENV)/bin/packcomponents.xslt $(MISC)/$(TARGET)/services.input
105
106$(MISC)/$(TARGET)/services.input:
107    $(MKDIRHIER) $(@:d)
108    echo \
109        '<list>$(my_components:^"<filename>":+".component</filename>")</list>' \
110        > $@
111
112$(MISC)/$(TARGET)/$(TARGET).cpp.component .ERRREMOVE: \
113        $(SOLARENV)/bin/createcomponent.xslt $(TARGET).cpp.component
114    $(XSLTPROC) --nonet --stringparam uri \
115        '$(COMPONENTPREFIX_INBUILD_NATIVE)$(SHL2TARGETN:f)' -o $@ \
116        $(SOLARENV)/bin/createcomponent.xslt $(TARGET).cpp.component
117
118$(MISC)/$(TARGET)/$(TARGET).java.component .ERRREMOVE: \
119        $(SOLARENV)/bin/createcomponent.xslt $(TARGET).java.component
120    $(XSLTPROC) --nonet --stringparam uri \
121        '$(COMPONENTPREFIX_INBUILD_JAVA)$(TARGET).uno.jar' -o $@ \
122        $(SOLARENV)/bin/createcomponent.xslt $(TARGET).java.component
123
124$(MISC)/$(TARGET)/$(TARGET).uno.jar: $(JAVATARGET) \
125        $(MISC)/$(TARGET)/javamaker.flag manifest
126    jar cfm $@ manifest -C $(CLASSDIR) test/cppuhelper/propertysetmixin
127
128test .PHONY: $(SHL1TARGETN) $(SHL2TARGETN) $(MISC)/$(TARGET)/$(TARGET).uno.jar \
129        $(MISC)/$(TARGET)/types.rdb $(MISC)/$(TARGET)/services.rdb
130    $(CPPUNITTESTER) $(SHL1TARGETN) \
131        '-env:UNO_TYPES=$(my_file)$(SOLARBINDIR)/udkapi.rdb $(my_file)$(PWD)/$(MISC)/$(TARGET)/types.rdb' \
132        '-env:UNO_SERVICES=$(my_file)$(SOLARXMLDIR)/ure/services.rdb $(my_file)$(PWD)/$(MISC)/$(TARGET)/services.rdb'\
133        -env:URE_INTERNAL_LIB_DIR=$(my_file)$(SOLARSHAREDBIN) \
134        -env:URE_INTERNAL_JAVA_DIR=$(my_file)$(SOLARBINDIR) \
135        -env:OOO_INBUILD_SHAREDLIB_DIR=$(my_file)$(PWD)/$(DLLDEST) \
136        -env:OOO_INBUILD_JAR_DIR=$(my_file)$(PWD)/$(MISC)/$(TARGET)
137
138.END
139