Je tente de combiner mes makefiles pour que je puisse simplement construire une fois et il va précompiler complètement le fichier pc avant de continuer à construire l'application. Ce devrait être être possible mais pour la vie de moi je ne peux pas le comprendre. Voici mon makefile (pour redhat 7).Puis-je créer mon fichier PC (Oracle Pro * c) de manière conditionnelle dans le fichier make de mon application?
COMPILEDATE = $(shell date)
COMPILE=g++ -std=c++11 -Wall -Wuninitialized -g
OSTYPE = $(shell uname)
LIBDIR=../../lib/
INC=../../include/
FILES=myProcess
OBJS= myProcess.o \
sqlStuff.o
O8P=$(ORACLE_HOME)
O8P=/u01/app/oracle/11.2.0/client_1
ORACLE_HOME=/u01/app/oracle/11.2.0/client_1
PROC_LINES=proc lines=yes code=ANSI_C iname=sqlStuff.pc parse=partial iname=sqlStuff include=. 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
all: $(FILES)
compileInfo.o : FORCE
$(COMPILE) -c compileInfo.cpp -o [email protected] -I$(INC) -DCDATE="\"$(COMPILEDATE)\"" -DBUILD="\"$(LSWBUILD)\""
FORCE :
%.o : %.cpp $(INC)myProcess.h
$(COMPILE) -c $< -o [email protected] -I$(INC) -DCDATE="\"$(COMPILEDATE)\""
sqlStuff.o : sqlStuff.c
gcc -g -Wall -O -c -lclntsh -I. -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/plsql/lib -I$(ORACLE_HOME)/network/lib
sqlStuff.c : sqlStuff.pc
$(PROC_LINES)
myProcess: $(OBJS) $(LIBDIR)libbase.a $(INC)myProcess.h sqlStuff.o
$(COMPILE) -o myProcess$(OBJS) -L$(LIBDIR) -lbase
clean:
rm -f $(FILES)
rm -f sqlStuff
rm -f sqlStuff.c
rm -f sqlStuff.lis
rm -f $(OBJS)
rm -f core
rm -f *.out
rm -f *.log
rm -f *.err
ma faute, je ne l'ai pas expliquer ce que la question était:
Je compile dans NetBeans en utilisant cette commande de construction: $ {} MAKE -f Makefile. L'erreur est PCC-S-02015, incapable d'ouvrir inclure fichier sur mon objet qui n'est pas précompilés, sqlStuff.o
Comment l'essayez-vous exactement? Pouvez-vous fournir une commande make? Vous avez oublié de nous dire ce qui se passe quand vous l'essayez? – quantummind
Désolé à ce sujet, je compile dans netbeans en utilisant cette commande de construction: $ {MAKE} -f Makefile. L'erreur est PCC-S-02015, impossible d'ouvrir le fichier d'inclusion sur mon objet qui n'est pas précompilé, sqlStuff.o –