You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.1 KiB
92 lines
2.1 KiB
14 years ago
|
#-- uncomment this to enable debugging
|
||
|
#DEBUG:=-g -DDEBUG
|
||
|
|
||
|
#-- what compiler are you using?
|
||
|
CC:=gcc
|
||
|
|
||
|
|
||
|
###### YOU SHOULD NOT CHANGE BELOW THIS LINE ######
|
||
|
|
||
|
VERSION:=1.4.0
|
||
|
SRCS:=api.c
|
||
|
|
||
|
CFLAGS:=-Wall -Wstrict-prototypes -Wno-variadic-macros -pedantic -c -fPIC ${DEBUG}
|
||
|
CLINKS:=-lpthread -lrt ${DEBUG}
|
||
|
DEFINES:=-D__UMAKEFILE
|
||
|
|
||
|
SRCS:=${sort ${SRCS}}
|
||
|
|
||
|
.PHONY: all run new clean main
|
||
|
|
||
|
|
||
|
# all - do everything (default) #
|
||
|
all: ./lib/libxbee.so.$(VERSION) main
|
||
|
@echo "*** Done! ***"
|
||
|
|
||
|
|
||
|
# run - remake main and then run #
|
||
|
run: main
|
||
|
./bin/main
|
||
|
|
||
|
|
||
|
# new - clean and do everything again #
|
||
|
new: clean all
|
||
|
|
||
|
|
||
|
# clean - remove any compiled files and PDFs #
|
||
|
clean:
|
||
|
rm -f ./*~
|
||
|
rm -f ./sample/*~
|
||
|
rm -f ./obj/*.o
|
||
|
rm -f ./lib/libxbee.so*
|
||
|
rm -f ./bin/main
|
||
|
|
||
|
# install - installs library #
|
||
|
install: /usr/lib/libxbee.so.$(VERSION) /usr/include/xbee.h
|
||
|
|
||
|
/usr/lib/libxbee.so.$(VERSION): ./lib/libxbee.so.$(VERSION)
|
||
|
cp ./lib/libxbee.so.$(VERSION) /usr/lib/libxbee.so.$(VERSION) -f
|
||
|
@chmod 755 /usr/lib/libxbee.so.$(VERSION)
|
||
|
@chown root:root /usr/lib/libxbee.so.$(VERSION)
|
||
|
ln ./libxbee.so.$(VERSION) /usr/lib/libxbee.so.1 -sf
|
||
|
@chown root:root /usr/lib/libxbee.so.1
|
||
|
ln ./libxbee.so.$(VERSION) /usr/lib/libxbee.so -sf
|
||
|
@chown root:root /usr/lib/libxbee.so
|
||
|
|
||
|
/usr/include/xbee.h: ./xbee.h
|
||
|
cp ./xbee.h /usr/include/xbee.h -f
|
||
|
@chmod 644 /usr/include/xbee.h
|
||
|
@chown root:root /usr/include/xbee.h
|
||
|
|
||
|
uninstall:
|
||
|
rm /usr/lib/libxbee.so.$(VERSION) -f
|
||
|
rm /usr/lib/libxbee.so.1 -f
|
||
|
rm /usr/lib/libxbee.so -f
|
||
|
rm /usr/include/xbee.h -f
|
||
|
|
||
|
# main - compile & link objects #
|
||
|
main: ./bin/main
|
||
|
|
||
|
./bin/main: ./obj/api.o ./bin/ ./main.c
|
||
|
${CC} ${CLINKS} ./main.c ./obj/api.o -o ./bin/main ${DEBUG}
|
||
|
|
||
|
./bin/:
|
||
|
mkdir ./bin/
|
||
|
|
||
|
./lib/libxbee.so.$(VERSION): ./lib/ ${addprefix ./obj/,${SRCS:.c=.o}} ./xbee.h
|
||
|
gcc -shared -Wl,-soname,libxbee.so.1 -o ./lib/libxbee.so.$(VERSION) ./obj/*.o -lrt
|
||
|
ln ./libxbee.so.$(VERSION) ./lib/libxbee.so.1 -sf
|
||
|
ln ./libxbee.so.$(VERSION) ./lib/libxbee.so -sf
|
||
|
|
||
|
./lib/:
|
||
|
mkdir ./lib/
|
||
|
|
||
|
./obj/:
|
||
|
mkdir ./obj/
|
||
|
|
||
|
./obj/%.o: ./obj/ %.c %.h xbee.h
|
||
|
${CC} ${CFLAGS} ${DEFINES} ${DEBUG} $*.c -o $@
|
||
|
|
||
|
./obj/%.o: ./obj/ %.c xbee.h
|
||
|
${CC} ${CFLAGS} ${DEFINES} ${DEBUG} $*.c -o $@
|