@@ -118,6 +118,7 @@ IDL_ROOT=$(INCLD_ROOT)/firebird
118118IDL_FILE =$(IDL_ROOT ) /FirebirdInterface.idl
119119API_H_FILE =$(IDL_ROOT ) /IdlFbInterfaces.h
120120API_PAS_FILE =$(INCLD_ROOT ) /gen/Firebird.pas
121+ API_PAS_TMP_FILE =$(TMP_ROOT ) /include/gen/Firebird.pas
121122API_C_HEADER =fb_c_api.h
122123API_C_H_FILE =$(FIREBIRD ) /include/firebird/$(API_C_HEADER )
123124API_C_TMP_FILE =$(TMP_ROOT ) /fb_c_api.tmp
@@ -173,12 +174,17 @@ $(TMP_FUNCS_PAS): $(PASCAL_SOURCES) $(XPB_CONSTS) $(INF_CONSTS) $(TMP_ROOT)/iber
173174 $(RPL_GREP ) < $(TMP_ROOT ) /iberror.pas >> $(TMP_FUNCS_PAS )
174175
175176$(API_PAS_FILE ) : $(IDL_FILE ) $(PASCAL_SOURCES ) $(TMP_FUNCS_PAS )
176- $(CLOOP ) $(IDL_FILE ) pascal $@ Firebird --uses SysUtils \
177+ $(CLOOP ) $(IDL_FILE ) pascal $( API_PAS_TMP_FILE ) Firebird --uses SysUtils \
177178 --interfaceFile $(PAS_ROOT ) /Pascal.interface.pas \
178179 --implementationFile $(PAS_ROOT)/Pascal.implementation.pas \
179180 --exceptionClass FbException \
180181 --functionsFile $(TMP_FUNCS_PAS) \
181182 --prefix I
183+ if [ ! -f $@ ] || ! cmp -s $(API_PAS_TMP_FILE) $@; then \
184+ mv -f $(API_PAS_TMP_FILE) $@; \
185+ else \
186+ rm -f $(API_PAS_TMP_FILE); \
187+ fi
182188
183189updateBuildNum : $(SRC_ROOT ) /jrd/build_no.h $(GEN_ROOT ) /Make.Version
184190
@@ -355,7 +361,7 @@ endif
355361
356362master_process :
357363 mkdir -p $(ROOT ) /src/include/gen
358- ln -sf $(ROOT ) /src/include/ gen/autoconfig.auto $(ROOT ) /src/include/gen/autoconfig.h
364+ ln -sf $(ROOT ) /gen/autoconfig.auto $(ROOT ) /src/include/gen/autoconfig.h
359365 $(MAKE ) updateBuildNum
360366 $(MAKE ) export_lists
361367 $(MAKE ) external
@@ -391,7 +397,7 @@ cross_process:
391397
392398cross1 :
393399 mkdir -p $(ROOT ) /src/include/gen
394- ln -sf $(ROOT ) /src/include/ gen/autoconfig.auto $(ROOT ) /src/include/gen/autoconfig.h
400+ ln -sf $(ROOT ) /gen/autoconfig.auto $(ROOT ) /src/include/gen/autoconfig.h
395401 $(MAKE ) updateBuildNum
396402 $(MAKE ) export_lists
397403 $(MAKE ) external
@@ -966,7 +972,7 @@ clean_gpre_gen:
966972 -$(RM ) -f ` find $( TMP_ROOT) / -type f -name ' *.cpp' -print`
967973
968974clean_yacc_gen :
969- $(RM ) $(ROOT ) /src/dsql/parse.cpp $(ROOT ) /src/dsql/dsql.tab.h $(ROOT ) /src /include/gen/parse.h types.y y.* $(OBJ ) /.parse-gen-sentinel
975+ $(RM ) $(ROOT ) /src/dsql/parse.cpp $(ROOT ) /src/dsql/dsql.tab.h $(TMP_ROOT ) /include/gen/parse.h types.y y.* $(OBJ ) /.parse-gen-sentinel
970976
971977# ___________________________________________________________________________
972978# Extra platform specific targets
0 commit comments