Makefile.sol2gcc-64x 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #
  2. # Makefile for 64-bit STREAMS modules for Solaris 2 on x64 with gcc.
  3. #
  4. # $Id: Makefile.sol2gcc-64x,v 1.1 2005/06/26 23:53:17 carlsonj Exp $
  5. #
  6. include Makedefs.sol2
  7. # gcc flags for LP64 compilation / linkage
  8. COPTS += -finline -fno-inline-functions -fno-builtin -fno-asm \
  9. -nodefaultlibs -D__sun -m64 -mtune=opteron -Ui386 \
  10. -U__i386 -fno-strict-aliasing -fno-unit-at-a-time \
  11. -fno-optimize-sibling-calls -O2 -D_ASM_INLINES \
  12. -ffreestanding -mcmodel=kernel -mno-red-zone -gdwarf-2 \
  13. -std=gnu89 -D_KERNEL -D_SYSCALL32 -D_SYSCALL32_IMPL \
  14. -D_ELF64 -Dsun -D__sun -D__SVR4
  15. # subdirectory where 64-bit objects / binaries will be placed
  16. LP64DIR = amd64
  17. # Name of legacy Makefile (for 32-bit binaries)
  18. STD_MAKE = Makefile.sol2gcc
  19. COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
  20. $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
  21. $(LP64DIR)/ppp_comp_mod.o
  22. all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
  23. std_objs:
  24. $(MAKE) -f $(STD_MAKE) all
  25. ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
  26. $(LD) -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
  27. chmod +x $(LP64DIR)/$@
  28. ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
  29. $(LD) -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o \
  30. $(LP64DIR)/ppp_ahdlc_mod.o
  31. chmod +x $(LP64DIR)/$@
  32. ppp_comp: $(COMP_OBJS)
  33. $(LD) -r -o $(LP64DIR)/$@ $(COMP_OBJS)
  34. chmod +x $(LP64DIR)/$@
  35. $(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
  36. $(CC) $(CFLAGS) -c $? -o $@
  37. $(LP64DIR)/deflate.o: ../modules/deflate.c
  38. $(CC) $(CFLAGS) -c $? -o $@
  39. $(LP64DIR)/ppp.o: ppp.c
  40. $(CC) $(CFLAGS) -c $? -o $@
  41. $(LP64DIR)/ppp_mod.o: ppp_mod.c
  42. $(CC) $(CFLAGS) -c $? -o $@
  43. $(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
  44. $(CC) $(CFLAGS) -c $? -o $@
  45. $(LP64DIR)/ppp_ahdlc.o: ppp_ahdlc.c
  46. $(CC) $(CFLAGS) -c $? -o $@
  47. $(LP64DIR)/ppp_comp.o: ppp_comp.c
  48. $(CC) $(CFLAGS) -c $? -o $@
  49. $(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
  50. $(CC) $(CFLAGS) -c $? -o $@
  51. $(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
  52. $(CC) $(CFLAGS) -c $? -o $@
  53. $(LP64DIR)/zlib.o: ../common/zlib.c
  54. $(CC) $(CFLAGS) -c $? -o $@
  55. $(LP64DIR):
  56. mkdir -m 755 -p $@
  57. install:
  58. /usr/sbin/modunload -i 0
  59. cp ppp ppp.conf /kernel/drv
  60. cp ppp_comp ppp_ahdl /kernel/strmod
  61. cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
  62. cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
  63. if grep clone:ppp /etc/minor_perm; then :; else \
  64. echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
  65. /usr/sbin/rem_drv ppp 2>/dev/null || true
  66. /usr/sbin/modunload -i 0
  67. /usr/sbin/add_drv ppp
  68. SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
  69. ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
  70. ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
  71. lint:
  72. $(LINT64) $(SRCS)
  73. lint-32:
  74. $(LINT32) $(SRCS)
  75. clean:
  76. $(MAKE) -f $(STD_MAKE) clean
  77. rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core