Files
openbts/GPRS/makefile.pat
Kurtis Heimerl 5289a229d9 sync of openbts
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6168 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-08-14 00:52:14 +00:00

139 lines
4.3 KiB
Plaintext

HDR=BSSG.h BSSGMessages.h ByteVector.h FEC.h GPRSExport.h GPRSInternal.h \
GPRSTDMA.h MAC.h MsgBase.h GPRSRLC.h RLCEngine.h RLCHdr.h RLCMessages.h RList.h \
ScalarTypes.h TBF.h MSInfo.h
SRC1= ByteVector.cpp \
MSInfo.cpp TBF.cpp FEC.cpp RLCEngine.cpp RLC.cpp MAC.cpp \
BSSG.cpp BSSGMessages.cpp GPRSCLI.cpp \
RLCMessages.cpp RLCEngine.cpp MsgBase.cpp
# Compile the most recently modified ones first.
SRC=$(shell ls -t $(SRC1))
#CSRC= iputils.c
INCLUDE= -I. -I.. -I../SGSNGGSN -I../CommonLibs -I../Control -I../GPRS -I../GSM -I../SIP -I../SMS -I../TRXManager -I../Globals -I../CLI -I../HLR -I../SR -I../sqlite3
ODIR=.libs
GPRSOBJ= $(SRC:%.cpp=$(ODIR)/%.o)
COBJ= $(CSRC:%.c=$(ODIR)/%.o)
OBJ= $(COBJ) $(GPRSOBJ)
default: a
#default: Makefile.am a
# 'all' is the target made by ../Makefile
all:
make -f Makefile
more:
(clear && make lib && cd ../apps && make) 2>&1 | more
a: .ALWAYS
#make lib && (cd ..; make)
make -f Makefile && (cd ..; make)
g: $(GGSNOBJ)
g2: miniggsn.o iputils.o
# The at-sign makes it not echo the program, so you can do: make sql > gprs.sql
gprs.sql: .ALWAYS
@awk '/BEGINCONFIG/,/ENDCONFIG/ { \
if (/BEGINCONFIG/||/ENDCONFIG/) next; \
sub("^[^/]*//",""); \
commas=$$0; gsub("[^,]*","",commas); \
if (length(commas) < 4) print "syntax error in",FILENAME,":",$$0 >"/dev/tty"; \
print "INSERT INTO \"CONFIG\" VALUES(" $$0 ");" \
}' *.cpp > gprs.sql
test1: test1.cpp Makefile libGPRS.a
g++ $(INCLUDE) -o test1 test1.cpp libGPRS.a ../CommonLibs/.libs/libcommon.a
crc: crc24.c
gcc -o crc crc24.c
test2: test1.cpp Makefile libGPRS.a
g++ $(INCLUDE) -o test1 test1.cpp libGPRS.a ../CommonLibs/.libs/libcommon.a ../GSM/.libs/libGSM.a
testbv: ByteVector.cpp ByteVector.h makefile
g++ $(INCLUDE) -g -o testbv -DTEST=1 ByteVector.cpp ../CommonLibs/.libs/libcommon.a
lib: $(OBJ)
ar cru $(ODIR)/libGPRS.a $(OBJ)
touch libGPRS.la
#.cpp.o:
$(ODIR)/%.o: %.cpp
-mkdir $(ODIR) 2>/dev/null
g++ -O0 -DHAVE_CONFIG_H $(INCLUDE) -Wall -g -c -o $(ODIR)/$*.o $*.cpp
$(ODIR)/%.o: %.c
-mkdir $(ODIR) 2>/dev/null
g++ -O0 -DHAVE_CONFIG_H $(INCLUDE) -Wall -g -c -o $(ODIR)/$*.o $*.c
# g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../CommonLibs -I../Control -I../GPRS -I../GSM -I../SIP -I../SMS -I../TRXManager -I../Globals -I../CLI -I../HLR -I../SR -I../sqlite3 -Wall -O3 -g -O2 -MT RadioResource.lo -MD -MP -MF ".deps/RadioResource.Tpo" -c -o RadioResource.lo RadioResource.cpp; \
then mv -f ".deps/RadioResource.Tpo" ".deps/RadioResource.Plo"; else rm -f ".deps/RadioResource.Tpo"; exit 1; fi
$(OBJ):$(HDR)
$(ODIR)/miniggsn.o $(ODIR)/iputils.o: miniggsn.h Ggsn.h
svnadd:
svn add $(HDR) $(SRC)
clean:
/bin/rm $(ODIR)/*
commit:
svn commit $(HDR) $(SRC)
pinghttp: pinghttp.c
gcc -DSTANDALONE=1 -o pinghttp pinghttp.c
# Need a short name for DOS file system.
SMALLFILES= GPRS/*.[hc]* GSM/*.[hc]* CLI/*.[hc]* \
CommonLibs/*.[hc]* Control/*.[hc]* TRXManager/*.[hc]*
small:
cd .. && tar -czvf GPRS_backup_`date +%m-%d`.tgz $(SMALLFILES) \
--no-recursion
backup:
cd .. && tar -czvf GPRS_full_`date +%m-%d`.tgz */* \
--exclude .svn --exclude .deps --exclude .libs --exclude 'sqlite*' \
--exclude '*o' --exclude '*.asn' --exclude '*cache*' --exclude 'Trans*' \
--exclude OpenBTS --exclude *Test --exclude bk*
ctags tags: .ALWAYS
cd ..; sh PAT.ctags
.ALWAYS:
# Evidently the makefile autogenerator doesnt work, because David complains
# every time he tries to make this directory. So lets just write out the
# # automake makefile generator file to try to make him happy.
# This is pretty dumb, making an auto-make makefile from a makefile.
# Rebuild it whenever this makefile changes:
Makefile.am: makefile
@: Start with the copyright:
@sed -n '1,/^$$/p' < ../Makefile.am > Makefile.am
@awk >> Makefile.am '\
BEGIN { \
print "include $$(top_srcdir)/Makefile.common\n"; \
print "AM_CPPFLAGS = $$(STD_DEFINES_AND_INCLUDES)\n"; \
print "#AM_CXXFLAGS = -O2 -g\n"; \
print "noinst_LTLIBRARIES = libGPRS.la\n"; \
src="$(SRC)"; gsub(" +"," \\\n\t",src); \
hdr="$(HDR)"; gsub(" +"," \\\n\t",hdr); \
print "\nlibGPRS_la_SOURCES = \\"; print "\t" src; \
print "\nnoinst_HEADERS = \\"; print "\t" hdr; \
}'
#==============================================
# These are the lines that modified the existing file, but I decided to just overwrite:
# /libGPRS_la_SOURCES/,/^$$/ { next }
# /noinst_HEADERS/,/^$$/ { next }
#{print}