#-------------------------------------------------------------------- # makefile ( src/utb/SICAD/prc ) #-------------------------------------------------------------------- PROJ_ROOT = ../../../.. # include $(PROJ_ROOT)/production/makefiles/makefile.hd #-UNIX-# include $(PROJ_ROOT)/production/makefiles/makefile.hd.NT UTx = utb UT_x = ut_b N_LIB = ../lib/$(UTx).pdb P_LIB = ../lib/$(UTx).p.pdb SDB = ../lib/ut.sdb #-------------------------------------------------------------------- SDB_CREATE_PRC = ut_sdb_create N_C_PROCS = \ $(SDB_CREATE_PRC) P_C_PROCS = \ ut_base_syn_create \ ut_base_syn_drop \ ut_dd_syn_create \ ut_dd_syn_drop \ uth_node_alpha # this include file defines lists of targets and sub-targets include utbprc.mk #-------------------------------------------------------------------- TARGETS = $(N_LIB) $(P_LIB) $(SDB) #include $(PROJ_ROOT)/production/makefiles/makefile.prc.hd #------------------------------------------------------------------------- # makefile.prc.hd ( production/makefiles ) #------------------------------------------------------------------------- # standard include file for targets in makefiles for SICAD-procedures # variables to be defined: # UTx, UT_x: name of the current subproduct of UTX (without or with separating "_") # N_C_PROCS, P_C_PROCS: list of created (by make) and not-protected, protected procs # N_E_PROCS, P_E_PROCS: list of existent and not-protected, protected procs # N_LIB, P_LIB: name of not-protected, protected SICAD procedure library # SDB: name of SICAD sdb library # SDB_CREATE_PRC: name of SICAD procedure used to create the SICAD sdb library # TARGETS: list of SICAD procedure libraries to be built # standard names for procedures: # $(UTx)_sdb_create : create sdb-entries # $(UT_x)_syn_.prc: (::=create|drop) fcts for synonyms for tables-names N_PROCS = $(N_C_PROCS) $(N_E_PROCS) P_PROCS = $(P_C_PROCS) $(P_E_PROCS) PROCS = $(P_PROCS) $(N_PROCS) N_LIB_I = $(N_LIB).idx N_LIB_D = $(N_LIB).dat P_LIB_I = $(P_LIB).idx P_LIB_D = $(P_LIB).dat SDB_I = $(SDB).idx SDB_D = $(SDB).dat UTB_PRC = $(PROJ_ROOT)/src/utb/SICAD/prc UTx_SQL = $(PROJ_ROOT)/src/$(UTx)/ALPHA/SQL AWK_syncreate = $(UTB_PRC)/create2syncreate.awk AWK_syndrop = $(UTB_PRC)/create2syndrop.awk N_FILE = ./tmp_nfile P_FILE = ./tmp_pfile # targets -------------------------------------------------------------- all:: INIT $(TARGETS:=.idx) clean:: rm -f $(TARGETS:=.idx) $(TARGETS:=.dat) @rm -f $(N_FILE) $(P_FILE) $(N_C_PROCS:=.prc) $(P_C_PROCS:=.prc) $(PROCS) @rm -f $(TARGETS:=.lck) makefile.mak .cmake* @rm -rf [0-9][0-9][0-9][0-9][0-9]* # ---------------------------------------------------------------------- .SUFFIXES: .SUFFIXES: .prc .prc: @$(XPG_ECHO) ".\c" ;\ touch $* ;\ echo "$*" >> $(N_FILE) $(UT_x)_syn_create.prc: $(UTx_SQL)/$(UTx)_tables.orc.sql @$(AWK) -f $(AWK_syncreate) $? > $@ @echo " >$@ generated< \c" $(UT_x)_syn_drop.prc: $(UTx_SQL)/$(UTx)_tables.orc.sql @$(AWK) -f $(AWK_syndrop) $? > $@ @echo " >$@ generated< \c" INIT: # in case of interrupted make, clean the list of procs @if [ -s $(N_FILE) ] ;\ then rm -f `cat $(N_FILE)` ;\ fi @rm -f $(N_FILE) $(N_LIB_I): $(PROCS) @-echo ;\ echo ;\ echo "WARNING: existent but not for lib $(N_LIB):" ;\ prcs=`ls *.prc | sed 's/\.prc//'` ;\ for i in $$prcs ;\ do \ if [ ! -f $$i ] ;\ then echo "--> $$i" ;\ fi ;\ done ;\ echo "-------------------------------------------" # if lib already exists, # then use list of procs created by implicit rule # else create a list of all procs @-if [ -s $(N_LIB_I) -a -s $(N_LIB_D) ] ;\ then : ;\ else \ rm -f $(N_LIB_I) $(N_LIB_D) ;\ $(LIST2FILE) "$(PROCS)" $(N_FILE) ;\ fi @$(MKPDB) $(SICAD_SYS_PATH) $(N_LIB) $(N_FILE) @-if [ -s $@ ] ;\ then chmod 666 $(N_LIB_I) $(N_LIB_D) ;\ else rm -f $(N_LIB_I) $(N_LIB_D) $(PROCS) ;\ fi @rm -f $(N_FILE) @rm -f $(N_LIB).lck @rm -rf [0-9][0-9][0-9][0-9][0-9]* $(P_LIB_I): $(PROCS) @-if [ $(DEBUG) = off ] ;\ then \ echo ;\ echo "CAUTION: NOT-protected PROCEDURES:" ;\ if [ -n "$(N_PROCS)" ] ;\ then \ for i in $(N_PROCS) ;\ do \ echo "--> $$i" ;\ done ;\ fi ;\ echo "----------------------------------" ;\ $(MAKE) PLIB -f makefile$(EXT_MAK) $(MAKE_PARAMS) ;\ else \ rm -f $(P_LIB_I) $(P_LIB_D) ;\ ln $(N_LIB_I) $(P_LIB_I) ;\ ln $(N_LIB_D) $(P_LIB_D) ;\ fi # separate target to make the $(P_LIB), because otherwise # the command-line for the target above may be too long! PLIB: @rm -f $(P_LIB_I) $(P_LIB_D) @-$(LIST2FILE) "$(N_PROCS)" $(N_FILE) @-$(LIST2FILE) "$(P_PROCS)" $(P_FILE) @$(MKPDB) $(SICAD_SYS_PATH) $(P_LIB) $(N_FILE) $(P_FILE) @-if [ -s $(P_LIB_I) -a -s $(P_LIB_D) ] ;\ then chmod 666 $(P_LIB_I) $(P_LIB_D) ;\ else rm -f $(P_LIB_I) $(P_LIB_D) $(PROCS) ;\ fi @rm -f $(N_FILE) $(P_FILE) @rm -f $(P_LIB).lck @rm -rf [0-9][0-9][0-9][0-9][0-9]* $(SDB_I): $(SDB_CREATE_PRC:=.prc) @rm -f $(SDB_I) $(SDB_D) @echo @$(MKSDB) $(SICAD_SYS_PATH) $(SDB) $(SDB_CREATE_PRC) $(N_LIB) @chmod 666 $(SDB_I) $(SDB_D) # separate targets to make libs separately ----------------------------- pdb: $(N_LIB_I) sdb: pdb $(SDB_I) #------------------------------------------------------------------------- #-------------------------------------------------------------------- UTB_VIEWS = $(UTx_SQL)/utb_views.orc.sql UTB_TABLES = $(UTx_SQL)/utb_tables.orc.sql UT_DD_TABLES = $(UTx_SQL)/ut_dd_tables.orc.sql $(SDB_CREATE_PRC).prc: makefile \ utb_sdb_create.prc \ ute_sdb_create.prc \ ut_plant_symbol_def.prc \ utgw_sdb_create.prc \ uth_sdb_create.prc \ uttc_sdb_create.prc @echo "procn" > $@ @echo "kom '--> beg utb'" >> $@ @echo "dop utb_sdb_create" >> $@ @echo "kom '--> end utb'" >> $@ @echo "kom '--> beg ute'" >> $@ @echo "dop ute_sdb_create" >> $@ @echo "kom '--> end ute'" >> $@ @echo "kom '--> beg utplant'" >> $@ @echo "dop ut_plant_symbol_def" >> $@ @echo "kom '--> end utplant'" >> $@ @echo "kom '--> beg utgw'" >> $@ @echo "dop utgw_sdb_create" >> $@ @echo "kom '--> end utgw'" >> $@ @echo "kom '--> beg uth'" >> $@ @echo "dop uth_sdb_create" >> $@ @echo "kom '--> end uth'" >> $@ @echo "kom '--> beg uttc'" >> $@ @echo "dop uttc_sdb_create" >> $@ @echo "kom '--> end uttc'" >> $@ @echo "endp" >> $@ @$(XPG_ECHO) " >$@ generated< \c" ut_base_syn_create.prc: $(UTB_TABLES) $(UTB_VIEWS) @$(AWK) -f $(AWK_syncreate) $(UTB_TABLES) $(UTB_VIEWS) > $@ @$(XPG_ECHO) " >$@ generated< \c" ut_base_syn_drop.prc: $(UTB_TABLES) $(UTB_VIEWS) @$(AWK) -f $(AWK_syndrop) $(UTB_TABLES) $(UTB_VIEWS) > $@ @$(XPG_ECHO) " >$@ generated< \c" ut_dd_syn_create.prc: $(UT_DD_TABLES) @$(AWK) -f $(AWK_syncreate) $? > $@ @$(XPG_ECHO) " >$@ generated< \c" ut_dd_syn_drop.prc: $(UT_DD_TABLES) @$(AWK) -f $(AWK_syndrop) $? > $@ @$(XPG_ECHO) " >$@ generated< \c" uth_node_alpha.prc: ../../../uth/SICAD/prc/uth_node_alpha.prc @rm -f uth_node_alpha.prc @cp ../../../uth/SICAD/prc/uth_node_alpha.prc . @$(XPG_ECHO) " >$@ copied< \c"