1# include Husky-Makefile-Config 2include ../huskymak.cfg 3 4ifeq ($(UNAME), LNX) 5 UNAMELONG = linux 6else 7 UNAMELONG = $(UNAME) 8endif 9 10ifeq ($(DEBUG), 1) 11# POPT = -g -XS -Co -Ci -Cr -Ct -ddebugit 12ifeq ($(PC), ppc386) 13 POPT = -g -XS -Co -Ci -Cr -Ct -T$(UNAMELONG) -dPASCAL 14 LOPT = -Fl$(LIBDIR) 15 PCOPT = 16else 17 POPT = -g -T$(UNAMELONG) -DPASCAL 18 POPT = -L$(LIBDIR) 19 PCOPT = -c 20endif 21else 22ifeq ($(PC), ppc386) 23 POPT = -g -v0 -XS -Co -Ci -Cr -Ct -dPASCAL 24 LOPT = -Fl$(LIBDIR) 25 PCOPT = 26else 27 POPT = -DPASCAL 28 LOPT = -L$(LIBDIR) 29 PCOPT = -c 30endif 31endif 32 33 34all: ffma$(EXE) 35 36ifdef H2PAS 37fconf.pas: $(INCDIR)/fidoconf/fidoconf.h 38ifeq ($(PC), gpc) 39 cat $(INCDIR)/fidoconf/fidoconf.h \ 40 | grep -v "^#define " \ 41 | grep -v "^ *extern " \ 42 | awk 'BEGIN { cpp=0; } { if (($$1 == "#ifdef") && ($$2 == "__cplusplus")) { cpp=1; } else if (($$1 == "#endif") && (cpp == 1)) { cpp=0; } else if (cpp == 1) { printf "\n" } else { print; } }' > fidoconf.h 43 h2pas -u fconf -p -l fidoconfig -s -d -o /dev/stdout \ 44 fidoconf.h | sed -e 's/\^char/pchar/g' \ 45 -e 's/\^Double;/\^Double; PFile = ^File; PPChar = ^PChar;/' \ 46 | grep -v '^{$$include' \ 47 | grep -v "^[^']*';$$" \ 48 | grep -v "^ *var$$" \ 49 | sed 's/cdecl;//g' \ 50 > fconf.pas 51else 52 cat $(INCDIR)/fidoconf/fidoconf.h \ 53 | grep -v "^#define " \ 54 | grep -v "^ *extern " \ 55 | awk 'BEGIN { cpp=0; } { if (($$1 == "#ifdef") && ($$2 == "__cplusplus")) { cpp=1; } else if (($$1 == "#endif") && (cpp == 1)) { cpp=0; } else if (cpp == 1) { printf "\n" } else { print; } }' > fidoconf.h 56 h2pas -u fconf -p -l fidoconfig -s -d -o /dev/stdout \ 57 fidoconf.h | sed -e 's/\^char/pchar/g' \ 58 -e 's/\^Double;/\^Double; PFile = ^File; PPChar = ^PChar;/' \ 59 | grep -v '^{$$include' \ 60 | grep -v "^[^']*';$$" \ 61 | grep -v "^ *var$$" \ 62 > fconf.pas 63endif 64endif 65 66%$(OBJ): %.pas 67 $(PC) $(POPT) $(PCOPT) $*.pas 68 69ifeq ($(PC), ppc386) 70fidoconf2.pas: fconf$(OBJ) 71else 72fidoconf2.pas: gpcstrings$(OBJ) fconf$(OBJ) 73endif 74 75ifeq ($(PC), ppc386) 76ffma$(EXE): fidoconf2$(OBJ) erweiter$(OBJ) fparser$(OBJ) memman$(OBJ) \ 77 utils$(OBJ) log$(OBJ) ini$(OBJ) match$(OBJ) fconf$(OBJ) \ 78 smapi$(OBJ) ffma.pas 79 $(PC) $(POPT) $(LOPT) ffma.pas 80else 81ffma$(EXE): fidoconf2$(OBJ) erweiter$(OBJ) fparser$(OBJ) memman$(OBJ) \ 82 utils$(OBJ) log$(OBJ) ini$(OBJ) match$(OBJ) fconf$(OBJ) \ 83 gpcsmapi$(OBJ) ffma.pas 84 $(PC) $(POPT) $(LOPT) ffma.pas 85endif 86 87ifeq ($(PC), ppc386) 88utils.pas: smapi$(OBJ) 89else 90utils.pas: gpcsmapi$(OBJ) 91endif 92 93install: ffma$(EXE) 94 $(INSTALL) $(IBOPT) ffma$(EXE) $(BINDIR) 95 96uninstall: 97 -$(RM) $(RMOPT) $(BINDIR)$(DIRSEP)ffma$(EXE) 98 99clean: 100 -$(RM) $(RMOPT) fconf.pas 101 -$(RM) $(RMOPT) fidoconf.h 102 -$(RM) $(RMOPT) *$(OBJ) 103 -$(RM) $(RMOPT) *$(LIB) 104 -$(RM) $(RMOPT) *$(TPU) 105 -$(RM) $(RMOPT) *~ 106 107distclean: clean 108 -$(RM) $(RMOPT) ffma$(EXE) 109 110