1# Makefile for the Husky build environment 2 3# include Husky-Makefile-Config 4ifeq ($(DEBIAN), 1) 5# Every Debian-Source-Paket has one included. 6include /usr/share/husky/huskymak.cfg 7else ifdef RPM_BUILD_ROOT 8# RPM build requires all files to be in the source directory 9include huskymak.cfg 10else 11include ../huskymak.cfg 12endif 13 14ifeq ($(OSTYPE), UNIX) 15 LIBPREFIX=lib 16 DLLPREFIX=lib 17endif 18 19include make/makefile.inc 20 21ifeq ($(DEBUG), 1) 22 CFLAGS=$(WARNFLAGS) $(DEBCFLAGS) 23 LFLAGS=$(DEBLFLAGS) 24else 25 CFLAGS=$(WARNFLAGS) $(OPTCFLAGS) 26 LFLAGS=$(OPTLFLAGS) 27endif 28 29LFLAGS+=-L$(LIBDIR) 30 31SRC_DIR = src/ 32H_DIR = areafix/ 33TARGETLIB = $(LIBPREFIX)$(LIBNAME)$(_LIB) 34TARGETDLL = $(LIBPREFIX)$(LIBNAME)$(_DLL) 35 36CDEFS=-D$(OSTYPE) $(ADDCDEFS) -I$(H_DIR) -I$(INCDIR) 37LIBS=-lhusky -lsmapi -lfidoconfig 38 39ifeq ($(DYNLIBS), 1) 40all: $(TARGETLIB) $(TARGETDLL).$(VER) 41else 42all: $(TARGETLIB) 43endif 44 45 46%$(_OBJ): $(SRC_DIR)%.c 47 $(CC) $(CFLAGS) $(CDEFS) $(SRC_DIR)$*.c 48 49$(TARGETLIB): $(OBJS) 50 $(AR) $(AR_R) $(TARGETLIB) $? 51ifdef RANLIB 52 $(RANLIB) $(TARGETLIB) 53endif 54 55ifeq ($(DYNLIBS), 1) 56 ifeq (~$(MKSHARED)~,~ld~) 57$(TARGETDLL).$(VER): $(OBJS) 58 $(LD) $(LFLAGS) -o $(TARGETDLL).$(VER) $(OBJS) $(LIBS) 59 else 60$(TARGETDLL).$(VER): $(OBJS) 61 $(CC) $(LFLAGS) -shared -Wl,-soname,$(TARGETDLL).$(VERH) \ 62 -o $(TARGETDLL).$(VER) $(OBJS) $(LIBS) 63 endif 64 65instdyn: $(TARGETLIB) $(TARGETDLL).$(VER) 66 -$(MKDIR) $(MKDIROPT) $(DESTDIR)$(LIBDIR) 67 $(INSTALL) $(ILOPT) $(TARGETDLL).$(VER) $(DESTDIR)$(LIBDIR) 68 -$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)$(DIRSEP)$(TARGETDLL).$(VERH) 69 -$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)$(DIRSEP)$(TARGETDLL) 70# Changed the symlinks from symlinks with full path to just symlinks. 71# Better so :) 72 cd $(DESTDIR)$(LIBDIR) ;\ 73 $(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL).$(VERH) ;\ 74 $(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL) 75ifneq (~$(LDCONFIG)~, ~~) 76 $(LDCONFIG) 77endif 78 79else 80instdyn: $(TARGETLIB) 81 82endif 83 84FORCE: 85 86install-h-dir: FORCE 87 -$(MKDIR) $(MKDIROPT) $(DESTDIR)$(INCDIR)/$(H_DIR) 88 89%.h: FORCE 90 -$(INSTALL) $(IIOPT) $(H_DIR)$@ $(DESTDIR)$(INCDIR)/$(H_DIR) 91 92install-h: install-h-dir $(HEADERS) 93 94install: install-h instdyn 95 -$(MKDIR) $(MKDIROPT) $(DESTDIR)$(LIBDIR) 96 $(INSTALL) $(ISLOPT) $(TARGETLIB) $(DESTDIR)$(LIBDIR) 97 98uninstall: 99 -cd $(DESTDIR)$(INCDIR)/$(H_DIR) ;\ 100 $(RM) $(RMOPT) $(HEADERS) 101 -$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)/$(TARGETLIB) 102 -$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)/$(TARGETDLL)* 103 104clean: 105 -$(RM) $(RMOPT) *$(_OBJ) 106 107distclean: clean 108 -$(RM) $(RMOPT) $(TARGETLIB) 109 -$(RM) $(RMOPT) $(TARGETDLL).$(VER) 110