# # OS/2 GNU Makefile for building libiconv with GNU Make and GNU C compiler # # This makefile will build iconv.dll, iconv.a (the import library for ICONV.DLL) # and iconv_s.a (static library). # # You will need the Unicode API add-on for EMX, which is included with latest # distributions of gcc for OS/2 (gcc 3.0 and later). # # Use CMD.EXE as shell since its way faster SHELL = $(COMSPEC) # Pack the DLL and executables with lxlite LXLITE = 1 # Tools CC = gcc -c CFLAGS = -s -O2 -Wall -Zmt $(INCLUDE) $(DEFS) INCLUDE = -I. LD = gcc LDFLAGS.SHARED = -s -Zmt -Zcrtdll -Zdll LIBS = -lgcc AR = ar ARFLAGS = crs .SUFFIXES: .SUFFIXES: .o .a .def .dll .PHONY: all clean ICONV.VERSION = 0.0.1 ICONV.OBJECTS = iconv.o # How to compile a .c file $(OUT)%.o: %.c $(CC) $(CFLAGS) -o $@ $< # How to build an import library from a .DEF file $(OUT)%.a: $(OUT)%.def emximp -o $@ $< all: iconv.dll iconv.a iconv_s.a clean: rm -rf *.o iconv.dll iconv*.a iconv.def iconv_s.a: $(ICONV.OBJECTS) $(AR) $(ARFLAGS) $@ $^ $(OUT)iconv.def: $(ICONV.OBJECTS) @echo LIBRARY ICONV INITINSTANCE TERMINSTANCE>$@ @echo DESCRIPTION "iconv API library version $(ICONV.VERSION)">>$@ @echo DATA MULTIPLE NONSHARED>>$@ @echo EXPORTS>>$@ emxexp $^ >>$@ $(OUT)iconv.dll: $(ICONV.OBJECTS) $(OUT)iconv.def $(LD) $(LDFLAGS.SHARED) -o $@ $^ $(LIBS) ifeq ($(LXLITE),1) lxlite $@ endif