# # libURI Makefile for MingWin32 gcc # # By G. Vanem 2003 .SUFFIXES: .pl .txt CC = gcc CFLAGS = -O2 -Wall -I. -D_WIN32 -DWIN32_LEAN_AND_MEAN -DSTDC_HEADERS \ -DHAVE_MALLOC_H -DHAVE_STDLIB_H -DHAVE_STDARG_H -DHAVE_UNISTD_H \ -DHAVE_CTYPE_H -DHAVE_SYS_TIME_H -DHAVE_STRCHR -DHAVE_MEMCPY OBJ_DIR = MingW_obj -include uri_schemes.mk SOURCE = md5c.c md5str.c mpath.c salloc.c split.c strlower.c timer.c uri.c \ uri_parse.c uri_schemes.c uri_util.c uri_scheme_generic.c \ $(URI_SCHEMES) OBJECTS = $(addprefix $(OBJ_DIR)/, $(SOURCE:.c=.o)) TARGETS = liburi.a t_uri.exe GENERATED = uri_schemes_hash.c uri_schemes_desc.c uri_schemes_desc.h \ uri_schemes.mk uri_escapes_file.h uri_escapes_ftp.h \ uri_escapes_generic.h gen_escapes.pl gen_schemes.exe all: $(GENERATED) $(OBJ_DIR) $(TARGETS) $(OBJ_DIR): mkdir $@ liburi.a: $(OBJECTS) ar rs $@ $? @echo t_uri.exe: t_uri.c $(OBJ_DIR)/getopt.o $(OBJ_DIR)/getopt1.o liburi.a $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -Wl,--print-map > t_uri.map @echo gen_schemes.exe: gen_schemes.c uri_schemes_hash.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< @echo gen_escapes: uri_escapes.txt cp gen_escapes.in gen_escapes.pl perl ./gen_escapes.pl uri_escapes_file.h uri_escapes_ftp.h uri_escapes_generic.h: gen_escapes SCHEMAS = $(shell ls uri_scheme_*.c | sed -e 's/uri_scheme_\(.*\).c/\1/') uri_schemes_desc.c uri_schemes_desc.h uri_schemes.mk: gen_schemes.exe ./gen_schemes.exe $(SCHEMAS) @echo uri_schemes_hash.c: SCHEMES gperf -k2-4 -c -G -W uri_scheme_list -H uri_scheme_hash -N uri_scheme_exists < $^ > $@ @echo clean: rm -f $(OBJECTS) $(GENERATED) t_uri.map vclean realclean: clean - rm -f $(OBJ_DIR)/*.o .depend $(TARGETS) - rmdir $(OBJ_DIR) $(OBJ_DIR)/%.o: %.c $(CC) $(CFLAGS) -o $@ -c $< @echo depend: $(GENERATED) $(CC) -MM $(CFLAGS) $(SOURCE) | \ sed -e 's/^\([a-zA-Z0-9_-]*\.o:\)/'$(OBJ_DIR)'\/\1/' > .depend -include .depend