Friday, December 16, 2005

 

Belle Makefile

1. 先作出OBJS檔,PALamPIplsPImns.o

COMPILE_CXX := $(CXX) -c  $(PANTHER_CMACROS) $(INCLUDES_C:%=-I%)  $(CXXFLAGS)

其中CXXFLAGS = -g -DHEP_SHORT_NAMES -DBELLE_SHORT_NAMES -DDSTXX_NOINLINE -DBELLE_TARGET_H=\"belle-i686-unknown-linux-g++.h\" -fPIC

其實是執行下列指令:

g++ -c -DFULLRECON_H=\"tables/fullrecon.h\" -DMCTYPE_H=\"tables/mctype.h\" -I/belle/belle/b20030807_1500/include -g -DHEP_SHORT_NAMES -DBELLE_SHORT_NAMES -DDSTXX_NOINLINE -DBELLE_TARGET_H=\"belle-i686-unknown-linux-g++.h\" -fPIC PALamPIplsPImns.cc

a .定義了2個Macro:
 * FULLRECON_H="tables/fullrecon.h"
 * MCTYPE_H="tables/mctype.h"

b. 環境變數 PANTHER_TABLE_DIR=/belle/belle/b20030807_1500/share/tables/

c. Header files的路徑
 * /data/belle/belle/b20030807_1500/include/tables/fullrecon.h
 * /data/belle/belle/b20030807_1500/include/tables/mctype.h
 * /data/belle/belle/b20030807_1500/src/config/belle-i686-unknown-linux-g++.h
d. 再定義Macro
 * DHEP_SHORT_NAMES
 * BELLE_SHORT_NAMES
 * DSTXX_NOINLINE
 * BELLE_TARGET_H="belle-i686-unknown-linux-g++.h"

2. 然後再作出so檔
g++ -o PALamPIplsPImns.so -shared -Wl,-export-dynamic PALamPIplsPImns.o -L/belle/belle/b20030807_1500/i686-unknown-linux/opt/lib/so -ltuple -lparticle -lmdst -lkid -lip -lCLHEP -lcrypt -L/belle/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.3 -L/belle/local/lib -lg2c -lm -lgcc -lgcc

a. /belle/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.4/
b. -lCLHEP是放在
 /belle/belle/b20030807_1500/i686-unknown-linux/opt/lib/so/libCLHEP.so

[samuel@mwang Skim]$ ls /belle/local/lib/gcc-lib/i686-pc-linux-gnu/3.0.4/      <===存在著g2c
crtendS.o    crtbegin.o  libg2c.a          libobjc.a  jc1   collect2  cc1           include
crtend.o     specs       libobjc.so.1.0.0  tradcpp0   f771  cc1plus   libobjc.so.1
crtbeginS.o  libgcc.a    libobjc.la        jvgenmain  cpp0  cc1obj    libobjc.so

[samuel@mwang Skim]$ ls /belle/local/lib       <====
libgcc_s.so.1       libstdc++.a      libgcj.a           libgcjgc.la   libzgcj.so      libgcjgc.so.1
libsupc++.la        libiberty.a      libzgcj.so.0.0.0   libgcjgc.a    libstdc++.so.3  libgcjgc.so
libsupc++.a         libgcj.so.2.0.0  libzgcj.la         libgcc_s.so   libstdc++.so    root
libstdc++.so.3.0.4  libgcj.la        libzgcj.a          gcc-lib       libgcj.so.2
libstdc++.la        libgcj.spec      libgcjgc.so.1.0.1  libzgcj.so.0  libgcj.so

all::   $(OBJS)
       $(LINK_CXX) -o $(MODULE) $(SOFLAGS) $(OBJS) $(LIBS)         $(CLHEPLIB) $(CERNLIB) $(SYSLIB)

SOFLAGS
BELLE_TOP_DIR=/belle/belle/b20030807_1500
BELLE_RUN_DIR=$(BELLE_TOP_DIR)/i686-unknown-linux/opt/

       $(CLHEPLIB) $(CERNLIB) $(SYSLIB)

SOFLAGS
BELLE_TOP_DIR=/belle/belle/b20030807_1500
BELLE_RUN_DIR=$(BELLE_TOP_DIR)/i686-unknown-linux/opt/

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?