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.

45 lines
1.4 KiB

5 years ago
  1. CFLAGS=-Wall -g -O2 -D_POSIX_SOURCE -D_BSD_SOURCE -D__need_timespec -O2 -D_POSIX_SOURCE -D_BSD_SOURCE -D__need_timespec
  2. javafiles=$( wildcard *.java )
  3. classfiles=$( patsubst %.java,gnu/io/%.class,$( wildcard *.java ) )
  4. objects=$( patsubst %.java,gnu/io/%.o,$( wildcard *.java ) )
  5. all: Simple
  6. Simple: librxtx.so librxtx.a
  7. #gcj *.o librxtx.a -static -lgcj -lpthread -ldl -lz -o Simple --main=Simple
  8. ln -s Simple.Java Simple.java
  9. gcj --classpath RXTX.jar -d . -C Simple.java
  10. rm Simple.java
  11. gcj -g -classpath RXTX.jar -d . -c Simple.class
  12. gcj -g *.o gnu/io/*.o -static -lgcj -lpthread -ldl -lz -o Simple --main=Simple
  13. librxtx.a: gnu/io/SerialImp.o gnu/io/fuserImp.o objects
  14. ar rs librxtx.a gnu/io/*.o *.o
  15. librxtx.so: gnu/io/SerialImp.o gnu/io/fuserImp.o objects
  16. g++ -g -shared gnu/io/*.o *.o -lpthread -Wl,-soname -Wl,librxtx-0.0-1.so -o librxtx-0.0-1.so
  17. rm -f librxtx.so && ln -s librxtx-0.0-1.so librxtx.so
  18. objects: classfiles
  19. (cd gnu/io && gcj -g -classpath ../.. -d gnu/io -c *.class )
  20. gnu/io/SerialImp.o: classfiles
  21. g++ $(CFLAGS) -I . -c SerialImp.c
  22. gnu/io/fuserImp.o: classfiles
  23. g++ $(CFLAGS) -I . -c fuserImp.c
  24. classfiles:
  25. rm -f Simple.java
  26. gcj -d . -C *.java
  27. for i in gnu/io/*.class;do gcjh -d . `echo $$i|sed s/.class//g`;done
  28. jar -cf RXTX.jar gnu/io/*.class
  29. clean:
  30. rm -f gnu/io/*
  31. rm -f *.a *.o *.so *.class Simple *.jar
  32. rmdir gnu/io
  33. rmdir gnu