xref: /aoo4110/main/solenv/inc/pstrules.mk (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski#**************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski#**************************************************************
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
25*b1cdbd2cSJim Jagielski#+++++++++++	second_build rules			+++++++++++++++++++++++++++++++++++++
26*b1cdbd2cSJim Jagielski#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
27*b1cdbd2cSJim Jagielski
28*b1cdbd2cSJim Jagielski.IF "$(SECOND_BUILD)"!=""
29*b1cdbd2cSJim Jagielski.IF "$($(SECOND_BUILD)_OBJFILES)"!=""
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski$(OBJ)/$(SECOND_BUILD)_%.obj : %.cxx
32*b1cdbd2cSJim Jagielski	@echo "Making:   " $@
33*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX"
34*b1cdbd2cSJim Jagielski	@$(RM) $@ $(@:s/.obj/.o/)
35*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CXX) $(CFLAGS) $(INCLUDE) $(CFLAGSCXX) $(CFLAGSCXXOBJ) $(CFLAGSOBJ) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSOBJ) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ) $(OBJ)/$(SECOND_BUILD)_$*.o $(CFLAGSINCXX)$(PWD)/$*.cxx
36*b1cdbd2cSJim Jagielski.IF "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
37*b1cdbd2cSJim Jagielski    $(COMMAND_ECHO)$(ADJUSTVISIBILITY) -p $(@:s/.obj/.o/)
38*b1cdbd2cSJim Jagielski.ENDIF          # "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
39*b1cdbd2cSJim Jagielski	@$(IFEXIST) $(@:s/.obj/.o/) $(THEN) $(TOUCH) $@ $(FI)
40*b1cdbd2cSJim Jagielski.ELSE
41*b1cdbd2cSJim Jagielski	@$(IFEXIST) $@ $(THEN) $(RM:s/+//) $@ >& $(NULLDEV) $(FI)
42*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CXX) $(CFLAGS) $(INCLUDE) $(CFLAGSCXX) $(CFLAGSOBJ) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSOBJ) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(OBJ)/$(SECOND_BUILD)_$*.obj $(CFLAGSINCXX)$(PWD)/$*.cxx
43*b1cdbd2cSJim Jagielski.ENDIF
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim Jagielski$(OBJ)/$(SECOND_BUILD)_%.obj : %.c
46*b1cdbd2cSJim Jagielski	@echo "Making:   " $@
47*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX"
48*b1cdbd2cSJim Jagielski.IF "$(TEST)"!=""
49*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CC) $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSOBJ) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSOBJ) -E $(CFLAGSAPPEND) $(CFLAGSOUTOBJ) $(OBJ)/$(SECOND_BUILD)_$*.o $*.c
50*b1cdbd2cSJim Jagielski.ELSE
51*b1cdbd2cSJim Jagielski	@$(RM) $@ $(@:s/.obj/.o/)
52*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CC) $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSOBJ) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSOBJ) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ) $(OBJ)/$(SECOND_BUILD)_$*.o $*.c
53*b1cdbd2cSJim Jagielski.IF "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
54*b1cdbd2cSJim Jagielski    $(COMMAND_ECHO)$(ADJUSTVISIBILITY) -p $(@:s/.obj/.o/)
55*b1cdbd2cSJim Jagielski.ENDIF          # "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
56*b1cdbd2cSJim Jagielski	@$(IFEXIST) $(@:s/.obj/.o/) $(THEN) $(TOUCH) $@ $(FI)
57*b1cdbd2cSJim Jagielski.ENDIF
58*b1cdbd2cSJim Jagielski.ELSE
59*b1cdbd2cSJim Jagielski	@$(TYPE) $(mktmp $(CC) $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSOBJ) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSOBJ) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(OBJ)\$(SECOND_BUILD)_$*.obj $*.c )
60*b1cdbd2cSJim Jagielski	@echo.
61*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC"
62*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CC) $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSOBJ) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSOBJ) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(OBJ)\$(SECOND_BUILD)_$*.obj $*.c
63*b1cdbd2cSJim Jagielski.ELSE
64*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CC) @$(mktmp $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSOBJ) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSOBJ) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(OBJ)\$(SECOND_BUILD)_$*.obj $*.c )
65*b1cdbd2cSJim Jagielski.ENDIF
66*b1cdbd2cSJim Jagielski	$(SEMADEBUG)
67*b1cdbd2cSJim Jagielski.ENDIF
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski.ENDIF			# "$($(SECOND_BUILD)_OBJFILES)"!=""
70*b1cdbd2cSJim Jagielski
71*b1cdbd2cSJim Jagielski.IF "$($(SECOND_BUILD)_SLOFILES)"!=""
72*b1cdbd2cSJim Jagielski
73*b1cdbd2cSJim Jagielski$(SLO)/$(SECOND_BUILD)_%.obj : %.cxx
74*b1cdbd2cSJim Jagielski	@echo "Making:   " $@
75*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX"
76*b1cdbd2cSJim Jagielski	@$(RM) $@ $(@:s/.obj/.o/)
77*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CXX) $(CFLAGS) $(INCLUDE) $(CFLAGSCXX) $(CFLAGSCXXSLO) $(CFLAGSSLO) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSSLO) $(CDEFSMT) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ) $(SLO)/$(SECOND_BUILD)_$*.o $(CFLAGSINCXX)$(PWD)/$*.cxx
78*b1cdbd2cSJim Jagielski.IF "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
79*b1cdbd2cSJim Jagielski    $(COMMAND_ECHO)$(ADJUSTVISIBILITY) -p $(@:s/.obj/.o/)
80*b1cdbd2cSJim Jagielski.ENDIF          # "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
81*b1cdbd2cSJim Jagielski	@$(IFEXIST) $(@:s/.obj/.o/) $(THEN) $(TOUCH) $@ $(FI)
82*b1cdbd2cSJim Jagielski.ELSE
83*b1cdbd2cSJim Jagielski	@-$(RM) $@
84*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC"
85*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CXX) $(CFLAGS) $(INCLUDE) $(CFLAGSCXX) $(CFLAGSSLO) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSSLO) $(CDEFSMT) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO)/$(SECOND_BUILD)_$*.obj $(CFLAGSINCXX)$(PWD)/$*.cxx
86*b1cdbd2cSJim Jagielski.ELSE
87*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CXX) @$(mktmp $(CFLAGS) $(INCLUDE) $(CFLAGSCXX) $(CFLAGSSLO) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSSLO) $(CDEFSMT) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO)/$(SECOND_BUILD)_$*.obj $(CFLAGSINCXX)$(PWD)/$*.cxx )
88*b1cdbd2cSJim Jagielski.ENDIF
89*b1cdbd2cSJim Jagielski.ENDIF
90*b1cdbd2cSJim Jagielski
91*b1cdbd2cSJim Jagielski$(SLO)/$(SECOND_BUILD)_%.obj :  %.c
92*b1cdbd2cSJim Jagielski	@echo "Making:   " $@
93*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX"
94*b1cdbd2cSJim Jagielski	@$(RM) $@ $(@:s/.obj/.o/)
95*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CC) $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSSLO) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSSLO) $(CDEFSMT) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ) $(SLO)/$(SECOND_BUILD)_$*.o $*.c
96*b1cdbd2cSJim Jagielski.IF "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
97*b1cdbd2cSJim Jagielski    $(COMMAND_ECHO)$(ADJUSTVISIBILITY) -p $(@:s/.obj/.o/)
98*b1cdbd2cSJim Jagielski.ENDIF          # "$(OS)"=="SOLARIS" && "$(product)"=="full" && "$(debug)"==""
99*b1cdbd2cSJim Jagielski	@$(IFEXIST) $(@:s/.obj/.o/) $(THEN) $(TOUCH) $@ $(FI)
100*b1cdbd2cSJim Jagielski.ELSE
101*b1cdbd2cSJim Jagielski	@-$(RM) $@
102*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC"
103*b1cdbd2cSJim Jagielski	   $(COMMAND_ECHO)$(CC) $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSSLO) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSSLO) $(CDEFSMT) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO)/$(SECOND_BUILD)_$*.obj $*.c
104*b1cdbd2cSJim Jagielski.ELSE
105*b1cdbd2cSJim Jagielski	   $(COMMAND_ECHO)$(TYPE) $(mktmp $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSSLO) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSSLO) $(CDEFSMT) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO)/$(SECOND_BUILD)_$*.obj $*.c )
106*b1cdbd2cSJim Jagielski	   $(COMMAND_ECHO)$(CC) @$(mktmp $(CFLAGS) $(INCLUDE_C) $(CFLAGSCC) $(CFLAGSSLO) $(CDEFS) $($(SECOND_BUILD)CDEFS) $(CDEFSSLO) $(CDEFSMT) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO)/$(SECOND_BUILD)_$*.obj $*.c )
107*b1cdbd2cSJim Jagielski.ENDIF
108*b1cdbd2cSJim Jagielski.ENDIF
109*b1cdbd2cSJim Jagielski
110*b1cdbd2cSJim Jagielski.ENDIF			# "$($(SECOND_BUILD)_SLOFILES)"!=""
111*b1cdbd2cSJim Jagielski.ENDIF			# "$(SECOND_BUILD)"!=""
112*b1cdbd2cSJim Jagielski
113*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
114*b1cdbd2cSJim Jagielski#+++++++++++	srcipting rules		++++++++++++++++++++++++++++++++++++++++
115*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
116*b1cdbd2cSJim Jagielski
117*b1cdbd2cSJim Jagielski.IF "$(PARFILES)"!=""
118*b1cdbd2cSJim JagielskiULFPARFILES=$(foreach,i,$(ULFFILES) $(foreach,j,$(SCP_PRODUCT_TYPE) $(PAR)/$j/$(i:b).par))
119*b1cdbd2cSJim JagielskiMOREPARFILES=$(foreach,i,$(PARFILES) $(foreach,j,$(SCP_PRODUCT_TYPE) $(PAR)/$j/$i ))
120*b1cdbd2cSJim JagielskiALLPARFILES=$(uniq $(ULFPARFILES) $(MOREPARFILES))
121*b1cdbd2cSJim Jagielski
122*b1cdbd2cSJim JagielskiSCP_PRODUCT_TYPE*=FAT
123*b1cdbd2cSJim Jagielski
124*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT"
125*b1cdbd2cSJim JagielskiLANGFILEEXT=mlf
126*b1cdbd2cSJim Jagielski.ELSE
127*b1cdbd2cSJim JagielskiLANGFILEEXT=jlf
128*b1cdbd2cSJim Jagielski.ENDIF
129*b1cdbd2cSJim Jagielski
130*b1cdbd2cSJim Jagielski$(PAR)/%.par :
131*b1cdbd2cSJim Jagielski	@echo "Making:   " $@
132*b1cdbd2cSJim Jagielski	@@-$(MKDIR) $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}
133*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT"
134*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(CPPLCC) -+ -P $(INCLUDE) $(CDEFS) $(SCPDEFS) -DDLLPOSTFIX=$(DLLPOSTFIX) $(*:b).scp > $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}/$(*:b).pre
135*b1cdbd2cSJim Jagielski.ENDIF
136*b1cdbd2cSJim Jagielski# YD: INCLUDE macro too long, include only few items (scp2 compile)
137*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="OS2"
138*b1cdbd2cSJim Jagielski	$(CPPLCC) -+ -P -I../../inc -I../../os2gcci.pro/inc $(CDEFS) $(SCPDEFS) -DDLLPOSTFIX=$(DLLPOSTFIX) $(*:b).scp > $(MISC)$/{$(subst,$(@:d:d:d), $(@:d:d))}$/$(*:b).pre
139*b1cdbd2cSJim Jagielski.ENDIF
140*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX"
141*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cpp.lcc -+ -P $(CDEFS) $(SCPDEFS) -DDLLPOSTFIX=$(DLLPOSTFIX) -I. -I$(INC) -I$(INCLOCAL) -I$(INCGUI) -I$(INCCOM) $(SOLARINC) $(*:b).scp > $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}/$(*:b).pre
142*b1cdbd2cSJim Jagielski.ENDIF
143*b1cdbd2cSJim Jagielski.IF "$(common_build_srs)"!=""
144*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(SCPCOMP) -l {$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(MISC))/$(TARGET)/$(@:b).$(LANGFILEEXT)} -s $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}/$(*:b).pre -o $@
145*b1cdbd2cSJim Jagielski.ELSE          # "$(common_build_srs)"!=""
146*b1cdbd2cSJim Jagielski	$(COMMAND_ECHO)$(SCPCOMP) -l {$(MISC)/$(TARGET)/$(@:b).$(LANGFILEEXT)} -s $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}/$(*:b).pre -o $@
147*b1cdbd2cSJim Jagielski.ENDIF          # "$(common_build_srs)"!=""
148*b1cdbd2cSJim Jagielski# hacked version
149*b1cdbd2cSJim Jagielski#    $(COMMAND_ECHO)$(SCPCOMP) -l $(@:b).$(LANGFILEEXT) -s $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}/$(*:b).pre -o $@
150*b1cdbd2cSJim Jagielski
151*b1cdbd2cSJim Jagielski.ENDIF			# "$(PARFILES)"!=""
152