# # Makefile for new routines to read from oracle and to update database # MAKEFILE=Makefile LOCLIB=./libhgeomora.a EXE=geooraupdate ORA_LIB = $(ORACLE_HOME)/lib CPPFLAGS= -g -I$(ORACLE_HOME)/precomp/public \ -I$(ORACLE_HOME)/rdbms/public \ -I$(ORACLE_HOME)/rdbms/demo \ -I$(ORACLE_HOME)/plsql/public \ -I$(ORACLE_HOME)/network/public \ -I$(HALO_INC) LDFLAGS+= -L$(HALO_LIB) -lutil # for Oracle precompiler version 8.1.6 and Oracle version 8.0.5 ifeq (8.0.5,$(findstring 8.0.5,$(ORACLE_HOME))) LDFLAGS+= -L$(ORA_LIB)/ -lclntsh \ $(ORA_LIB)/scorept.o \ $(ORA_LIB)/sscoreed.o \ $(ORACLE_HOME)/rdbms/lib/kpudfo.o -lclient -lsql \ $(ORA_LIB)/nautab.o $(ORA_LIB)/naeet.o $(ORA_LIB)/naect.o \ $(ORA_LIB)/naedhs.o `cat $(ORA_LIB)/naldflgs` -lnetv2 -lnttcp \ -lnetwork -lncr -lvsn -lcommon \ -lgeneric -lmm -lcore4 -lplsf -lplsb -lextp -lepc \ `cat $(ORA_LIB)/sysliblist` -lc -lm -lnlsrtl3 endif # for Oracle precompiler version 8.1.7 and Oracle version 8.1.7 ifeq (8.1.7,$(findstring 8.1.7,$(ORACLE_HOME))) LDFLAGS+= -L$(ORACLE_HOME)/lib/ -lclntsh \ -L$(ORACLE_HOME)/lib/ \ `cat $(ORACLE_HOME)/lib/sysliblist` -ldl -lm -lpthread endif CPP=g++ PROC=$(ORACLE_HOME)/bin/proc PROCFLAGS= oraca=yes code=cpp parse=partial ireclen=130 oreclen=130 \ include=$(ORACLE_HOME)/precomp/public \ include=$(ORACLE_HOME)/rdbms/public \ include=$(ORACLE_HOME)/rdbms/demo \ include=$(ORACLE_HOME)/plsql/public \ include=$(ORACLE_HOME)/network/public \ include=../include include=$(HALO_INC) .SUFFIXES : .pc .cc .pc.cc: $(PROC) $(PROCFLAGS) iname=$< oname=$*.cc source1 := $(wildcard *.cc) sourcepc := $(wildcard *.pc) source2 := $(sourcepc:.pc=.cc) source3 := $(filter-out $(source1), $(source2)) source := $(source3) $(source1) lisjunk := $(sourcepc:.pc=.lis) object := $(source:.cc=.o) mkfiles := $(source:.cc=.d) # Include a dependency Makefile *.d for each cc-file, containing the # included header files. # This makefile is updated, whenever one of the included header files # is changed by the pattern rule (%d: %.cc) below. # If it doesn't exist, it will be created. include $(source:.cc=.d) objects =$(filter-out main.o, $(object)) $(LOCLIB): $(LOCLIB)($(objects)) $(mkfiles) # pattern rules #----------------------- ## Dependency Makefiles #----------------------- %.d: %.cc @$(SHELL) -ec '$(CPP) -M $(CPPFLAGS) \ $< |sed '\''s/$*.o/& $@/g'\'' > $@' @echo creating Makefile $*.d #-------------------- ## Library Members #--------------------- (%.o): %.cc %.d $(CPP) $(CPPFLAGS) -c $< -o $% @$(AR) rv $@ $% @$(RM) $% @ranlib $(LOCLIB) @echo "module added to library" #------------------------------ ## create library or executable #------------------------------ exe: $(EXE) @echo ' ' @echo '$(EXE) successfully created' lib: $(LOCLIB) @echo '$(LOCLIB) successfully created' $(EXE): main.o $(LOCLIB)($(objects)) $(mkfiles) $(CPP) main.o $(LOCLIB) \ $(LDFLAGS) \ -o $(EXE) clean: $(RM) *.o $(source2) $(lisjunk)