mirror of
https://github.com/libxmp/libxmp.git
synced 2026-10-24 01:08:56 +03:00
121 lines
2.7 KiB
Makefile
121 lines
2.7 KiB
Makefile
# GNU Makefile for OS/2 -- using GCC/EMX KLIBC environment
|
|
# make -f Makefile.emx
|
|
#
|
|
# To disable module depacker functionality:
|
|
# make -f Makefile.emx USE_DEPACKERS=0
|
|
#
|
|
# To disable ProWizard functionality:
|
|
# make -f Makefile.emx USE_PROWIZARD=0
|
|
#
|
|
# To build the lite version of the library:
|
|
# make -f Makefile.emx lite
|
|
#
|
|
# To cross-compile on linux, specify cross-compiler prefix,
|
|
# e.g.:
|
|
# make -f Makefile.emx CROSS=i686-pc-os2-emx
|
|
|
|
USE_DEPACKERS = 1
|
|
USE_PROWIZARD = 1
|
|
|
|
DLLFILE = libxmp.dll
|
|
DEFNAME = emx.def
|
|
TESTNAME= libxmp-test.exe
|
|
DLLLITE = libxmplt.dll
|
|
DEFLITE = emxlite.def
|
|
TESTLITE= libxmp-lite-test.exe
|
|
|
|
ifeq ($(CROSS),)
|
|
CC=gcc
|
|
AR=ar
|
|
RANLIB=ranlib
|
|
else
|
|
CC=$(CROSS)-gcc
|
|
AR=$(CROSS)-ar
|
|
RANLIB=$(CROSS)-ranlib
|
|
endif
|
|
|
|
CFLAGS = -Iinclude -Wall -O2 -fsigned-char -Zmt
|
|
CFLAGS += -DHAVE_FNMATCH -DHAVE_MKSTEMP -DHAVE_UMASK -DHAVE_DIRENT
|
|
#CFLAGS += -DDEBUG
|
|
LDFLAGS = -Zdll -Zomf -Zmt
|
|
|
|
ifeq ($(USE_PROWIZARD),0)
|
|
CFLAGS += -DLIBXMP_NO_PROWIZARD
|
|
endif
|
|
ifeq ($(USE_DEPACKERS),0)
|
|
CFLAGS += -DLIBXMP_NO_DEPACKERS
|
|
else
|
|
CFLAGS += -DHAVE_POPEN -DHAVE_FORK -DHAVE_PIPE -DHAVE_EXECVP -DHAVE_DUP2 -DHAVE_WAIT
|
|
endif
|
|
|
|
OBJS = @OBJS@
|
|
PROWIZ_OBJS = @POBJS@
|
|
DEPACKER_OBJS = @DOBJS@
|
|
LITE_OBJS = @LITE_OBJS@
|
|
ALL_OBJS = $(OBJS)
|
|
ifeq ($(USE_PROWIZARD),1)
|
|
ALL_OBJS += $(PROWIZ_OBJS)
|
|
endif
|
|
ifeq ($(USE_DEPACKERS),1)
|
|
ALL_OBJS += $(DEPACKER_OBJS)
|
|
endif
|
|
TEST_OBJS = test/md5.o test/test.o
|
|
TESTLITE_OBJS = test/md5.o test/testlite.o
|
|
|
|
.PHONY: clean distclean
|
|
|
|
all: $(DLLFILE) xmp_dll.a xmp.lib xmp.a
|
|
lite: $(DLLLITE) xmp-lite_dll.a xmp-lite.lib xmp-lite.a
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
test/md5.o: src/md5.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
test/test.o: test/test.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
test/testlite.o: test/testlite.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(DLLFILE): $(ALL_OBJS) $(DEFNAME)
|
|
$(CC) $(LDFLAGS) -o $(DLLFILE) $(DEFNAME) $(ALL_OBJS)
|
|
$(DLLLITE): $(LITE_OBJS) $(DEFLITE)
|
|
$(CC) $(LDFLAGS) -o $(DLLLITE) $(DEFLITE) $(LITE_OBJS)
|
|
|
|
xmp.a: $(ALL_OBJS)
|
|
$(AR) cru xmp.a $(ALL_OBJS)
|
|
$(RANLIB) xmp.a
|
|
xmp-lite.a: $(LITE_OBJS)
|
|
$(AR) cru xmp-lite.a $(LITE_OBJS)
|
|
$(RANLIB) xmp-lite.a
|
|
|
|
xmp_dll.a: $(DLLFILE)
|
|
emximp -o $@ $(DLLFILE)
|
|
xmp-lite_dll.a: $(DLLLITE)
|
|
emximp -o $@ $(DLLLITE)
|
|
|
|
xmp.lib: xmp_dll.a
|
|
emxomf -o $@ $<
|
|
xmp-lite.lib: xmp-lite_dll.a
|
|
emxomf -o $@ $<
|
|
|
|
test/$(TESTNAME): $(LIBFILE) $(TEST_OBJS)
|
|
$(CC) $(TEST_OBJS) -L. -lxmp -Zmt -o $@
|
|
test/$(TESTLITE): $(LIBLITE) $(TESTLITE_OBJS)
|
|
$(CC) $(TESTLITE_OBJS) -L. -lxmp-lite -Zmt -o $@
|
|
check: test/$(TESTNAME)
|
|
cd test & $(TESTNAME)
|
|
check-lite: test/$(TESTLITE)
|
|
cd test & $(TESTLITE)
|
|
|
|
clean:
|
|
$(RM) src/*.o
|
|
$(RM) src/loaders/*.o
|
|
$(RM) src/lite/*.o
|
|
$(RM) src/loaders/prowizard/*.o
|
|
$(RM) src/depackers/*.o
|
|
$(RM) test/*.o
|
|
distclean: clean
|
|
$(RM) *.dll *.a *.lib
|
|
$(RM) test/*.exe
|