Makefile.os2 2.4 KB

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