summaryrefslogblamecommitdiffstats
path: root/util/Makefile
blob: 63f3552f023cf079a5d1a391a01ac644ae1c3bb4 (plain) (tree)
1
2
3
4
5
6
7
8
9
      
 
                       
 

                      

                                
                 
                                                                         

                                                                         
 
             
                                                                         

                                                                         
 
                                                     
                  
                                                                         
                                                                         
                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         
                                                              
 
                                
                     
                                         
                                                         
                                         
                                                  
 
                          
                                                                         
                



                                                                         
                                                       
 
                                                      
 
                                
                                             
 
                             
                                      
                                                                          
       
 
                        
                                         
                                                                          
       
 






                                                                                                                                                                         
                                                                  
                                                                     

                                                      



                                                  
                           
                                 
      
 

                                                                    
 
 


                                                                 
 

                                                              
                    
                                                                        
 




                                          

                                                                        
                                            
 





                                                            
                                       
                                                                                      

                           
                                                                           

                       


                                                                                              
# $Id$

.include "../pttbbs.mk"

CFLAGS+= -DPTTBBS_UTIL

BBSBASE=    ../include/var.h

UTIL_OBJS=  \
    util_cache.o    util_record.o   util_passwd.o   util_var.o  \
    util_stuff.o    util_osdep.o    util_args.o util_file.o \
    util_crypt.o

MBBSD_OBJS= \
    cache       record      passwd      var     \
    stuff       osdep       args        file        \
    crypt

# 下面這些程式, 會被 compile 並且和 $(UTIL_OBJS) 聯結
CPROG_WITH_UTIL= \
    boardlist   BM_money    post        poststat    \
    jungo       account     birth       deluserfile \
    expire      mandex      horoscope   \
    openvice    parse_news  openticket  topusr      \
    yearsold    toplazyBM   toplazyBBM  writemoney  \
    reaper      buildAnnounce   inndBM      mailangel   \
    outmail     chkhbf      checkmoney      merge_dir       \
    transman    angel       gamblegive  checkdir    \
    chesscountry    tunepasswd  buildir     xchatd

# 下面這些程式, 會直接被 compile
CPROG_WITHOUT_UTIL= \
    uhash_loader    showboard   \
    countalldice    bbsrf       initbbs     \
    userlist    merge_passwd    \
    merge_board bbsmail         gamble_fix

# 下面這些程式會被 install
PROGS=  ${CPROG_WITH_UTIL}      ${CPROG_WITHOUT_UTIL}       \
    shmctl \
    BM_money.sh backpasswd.sh   mailog.sh   opendice.sh \
    openticket.sh   stock.sh    topsong.sh  weather.sh  \
    stock.perl  weather.perl    toplazyBM.sh    toplazyBBM.sh   \
    dailybackup.pl  tarqueue.pl waterball.pl    filtermail.pl   \
    getbackup.pl    udnnews.pl  rebuildaloha.pl

all: ${CPROG_WITH_UTIL} ${CPROG_WITHOUT_UTIL} ${PROGS}

../include/var.h: ../mbbsd/var.c
    cd ../mbbsd; $(MAKE) ../include/var.h

.for fn in ${CPROG_WITH_UTIL}
${fn}: ${BBSBASE} ${fn}.c ${UTIL_OBJS}
    $(CCACHE) ${CC} ${CFLAGS} ${LDFLAGS} -o ${fn} ${UTIL_OBJS} ${fn}.c
.endfor

.for fn in ${MBBSD_OBJS}
util_${fn}.o: ${BBSBASE} ../mbbsd/${fn}.c
    $(CCACHE) ${CC} ${CFLAGS} -D_BBS_UTIL_C_ -c -o $@ ../mbbsd/${fn}.c
.endfor

shmctl: ${BBSBASE} shmctl.c ${UTIL_OBJS}
    $(CCACHE) ${CC} ${CFLAGS} ${LDFLAGS} -o shmctl ${UTIL_OBJS} shmctl.c
#shmctl: ${BBSBASE} shmctl.c ${UTIL_OBJS}
#   $(CCACHE) gcc -g -DBBSHOME='"/home/bbs"' -I../include  -D__OS_MAJOR_VERSION__="2"  -D__OS_MINOR_VERSION__="6" -DPTTBBS_UTIL  -O1  -o shmctl ${UTIL_OBJS} shmctl.c
#shmctl: ${BBSBASE} shmctl.cc ${UTIL_OBJS}
#   $(CCACHE) g++ -g -DBBSHOME='"/home/bbs"' -I../include  -D__OS_MAJOR_VERSION__="2"  -D__OS_MINOR_VERSION__="6" -DPTTBBS_UTIL  -O1 -o shmctl ${UTIL_OBJS} shmctl.cc

bbsmail: ${BBSBASE} bbsmail.c ../innbbsd/str_decode.c $(UTIL_OBJS)
    $(CCACHE) $(CC) $(CFLAGS) $(LDFLAGS) -o bbsmail -DUSE_ICONV \
    bbsmail.c ../innbbsd/str_decode.c $(UTIL_OBJS)

install: $(PROGS)
    install -d $(BBSHOME)/bin/
    install -c -m 755 $(PROGS) $(BBSHOME)/bin/
    chmod 4755 $(BBSHOME)/bin/post
.if defined(WITHFILTERMAIL)
    $(MAKE) installfiltermail
.endif

clean:
    rm -f *.o $(CPROGS) $(CPROG_WITH_UTIL) $(CPROG_WITHOUT_UTIL)


installfiltermail:
    mv $(BBSHOME)/bin/bbsmail $(BBSHOME)/bin/realbbsmail
    ln -s $(BBSHOME)/bin/filtermail.pl $(BBSHOME)/bin/bbsmail

# for diskstat(FreeBSD 4.x only) .
# diskstat should be compiled with bbs and installed with root
diskstat: diskstat.c
    $(CCACHE) $(CC) $(CFLAGS) -o diskstat diskstat.c -ldevstat -lkvm

installdiskstat: diskstat
    cp -f diskstat /usr/local/bin/
    chgrp kmem /usr/local/bin/diskstat
    chmod 2755 /usr/local/bin/diskstat

# for bbsctl. bbsctl should be compiled with bbs and installed with root
bbsctl: bbsctl.c
    $(CCACHE) $(CC) $(CFLAGS) -o $@ $@.c

installbbsctl: bbsctl
    rm -f /home/bbs/bin/bbsctl
    cp /home/bbs/pttbbs/util/bbsctl /home/bbs/bin/bbsctl
    chown root /home/bbs/bin/bbsctl
    chmod 4755 /home/bbs/bin/bbsctl

cleanpasswd: cleanpasswd.c ${UTIL_OBJS}
    $(CCACHE) ${CC} ${CFLAGS} ${LDFLAGS} -o cleanpasswd ${UTIL_OBJS} cleanpasswd.c

r2014transfer: r2014convert
    $(CCACHE) ${CC} ${CFLAGS} ${LDFLAGS} -o r2014convert r2014convert.c
    ./r2014convert
    rm r2014convert

passwdconverter: passwdconverter.c
    $(CCACHE) $(CC) $(CFLAGS) $(LDFLAGS) $(UTIL_OBJS) -o passwdconverter passwdconverter.c