Makefile.os2 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # Open Watcom makefile to build PhysicsFS for OS/2
  2. # wmake -f Makefile.os2
  3. LIBNAME = physfs
  4. VERSION = 3.3.0
  5. LIBFILE = $(LIBNAME).lib
  6. DLLFILE = $(LIBNAME).dll
  7. LNKFILE = $(LIBNAME).lnk
  8. TITLENAME = $(LIBNAME) $(VERSION)
  9. SRCS = physfs.c &
  10. physfs_byteorder.c &
  11. physfs_unicode.c &
  12. physfs_platform_os2.c &
  13. physfs_archiver_dir.c &
  14. physfs_archiver_unpacked.c &
  15. physfs_archiver_grp.c &
  16. physfs_archiver_hog.c &
  17. physfs_archiver_7z.c &
  18. physfs_archiver_mvl.c &
  19. physfs_archiver_qpak.c &
  20. physfs_archiver_rofs.c &
  21. physfs_archiver_wad.c &
  22. physfs_archiver_zip.c &
  23. physfs_archiver_slb.c &
  24. physfs_archiver_iso9660.c &
  25. physfs_archiver_csm.c &
  26. physfs_archiver_vdf.c &
  27. physfs_archiver_lec3d.c &
  28. physfs_archiver_pod.c
  29. OBJS = $(SRCS:.c=.obj)
  30. CFLAGS_BASE = -bt=os2 -d0 -q -bm -5s -fp5 -fpi87 -sg -oeatxh -ei -j
  31. CFLAGS_BASE+= -DNDEBUG
  32. # warnings:
  33. CFLAGS_BASE+= -wx
  34. # newer OpenWatcom versions enable W303 by default
  35. CFLAGS_BASE+= -wcd=303
  36. # include paths:
  37. CFLAGS_BASE+= -I"$(%WATCOM)/h/os2" -I"$(%WATCOM)/h"
  38. CFLAGS = $(CFLAGS_BASE)
  39. # to build a dll:
  40. CFLAGS+= -bd
  41. .extensions:
  42. .extensions: .lib .dll .obj .c
  43. all: $(DLLFILE) test_physfs.exe
  44. .c: decoders
  45. .c: examples
  46. $(LIBFILE): $(DLLFILE)
  47. @echo * Create library: $@...
  48. wlib -b -n -q -c -pa -s -t -zld -ii -io $@ $(DLLFILE)
  49. $(DLLFILE): $(OBJS) $(MODPLIB) $(TIMILIB) $(LNKFILE)
  50. @echo * Link: $@
  51. wlink @$(LNKFILE)
  52. $(LNKFILE):
  53. @%create $@
  54. @%append $@ SYSTEM os2v2_dll INITINSTANCE TERMINSTANCE
  55. @%append $@ NAME $(LIBNAME)
  56. @for %i in ($(OBJS)) do @%append $@ FILE %i
  57. @%append $@ OPTION QUIET
  58. @%append $@ OPTION DESCRIPTION '@$#icculus org:$(VERSION)$#@PhysicsFS'
  59. @%append $@ OPTION MAP=$^&.map
  60. @%append $@ OPTION ELIMINATE
  61. @%append $@ OPTION MANYAUTODATA
  62. @%append $@ OPTION OSNAME='OS/2 and eComStation'
  63. @%append $@ OPTION SHOWDEAD
  64. .c.obj:
  65. wcc386 $(CFLAGS) -fo=$^@ $<
  66. test_physfs.obj: "../test/test_physfs.c"
  67. wcc386 $(CFLAGS_BASE) -fo=$^@ $<
  68. test_physfs.exe: $(LIBFILE) test_physfs.obj
  69. @echo * Link: $@
  70. wlink SYS os2v2 LIBR {$(LIBFILE)} op q op el F {test_physfs.obj} N test_physfs.exe
  71. clean: .SYMBOLIC
  72. @echo * Clean: $(TITLENAME)
  73. @if exist *.obj rm *.obj
  74. @if exist *.err rm *.err
  75. @if exist $(LNKFILE) rm $(LNKFILE)
  76. distclean: .SYMBOLIC clean
  77. @if exist $(DLLFILE) rm $(DLLFILE)
  78. @if exist $(LIBFILE) rm $(LIBFILE)
  79. @if exist *.map rm *.map
  80. @if exist *.exe rm *.exe