Makefile.os2 2.5 KB

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