###################################################################### HB_COMPILER = gcc #Especificamos compilador xBase a usar, si harbour o xHarbour XBASE_COMPILER = XHARBOUR #Nueva version 1.1.0 #Rutas hacia el compilador xBase HB_RUTA = /home/eduardo/xh121-b HB_BIN_INSTALL = $(HB_RUTA)/bin HB_INC_INSTALL = $(HB_RUTA)/include # ;/home/eduardo/fp/compartido/prg/compi/xHar/xhar1fwh2526/fwh25/INCLUDE HB_LIB_INSTALL = $(HB_RUTA)/lib ############################################## # Esqueleto para todas las plataformas ############################################## #Generic make options LINKER = ar CC = gcc LIBRARIAN = ranlib #Definition GT driver ifeq ($(HB_COMPILER),mingw32) GT_LIBS=-lgtwin else GT_LIBS=-lgttrm -lgtcrs -lgtcgi -lgtstd # -lgtsln -lgtxwc -lgtpca endif ifeq ($(XBASE_COMPILER),HARBOUR) CFLAGS += -D_HB_API_INTERNAL_ -DHB_ARRAY_USE_COUNTER_OFF endif #libraries for binary building ifeq ($(HB_MT),MT) LIBFILES_ = -ldebug -lvmmt -lrtlmt $(GT_LIBS) -lfmstatmt -lrddmt -lrtlmt -lvmmt -lmacromt -lppmt -ldbfntxmt -ldbfcdx -ldbfdbt -lcommon -lm -lpthread else # XHARBOUR #LIBFILES_ = -lvm -lrtl -llang -lrdd -lmacro -lpp -ldbfntx -ldbfcdx -ldbffpt -lcommon -lm -lhbsix -lpcrepos $(GT_LIBS) LIBFILES_ = -lm -lvm -lrtl -llang -lrdd -lmacro -lpp -ldbfntx -ldbfcdx -ldbffpt -lcommon -lhbsix -lpcrepos -lcodepage -lzlib -lgttrm -lgtstd -ldebug -lhsx -lusrrdd -lgtcrs -lgtsln -lgtxwc -lgtcgi -lgtpca # -lm -lvm -lrtl -llang -lrdd -lmacro -lpp -ldbfntx -ldbfcdx -ldbffpt -lcommon -lhbsix -lpcrepos -lcodepage -lzlib -lgttrm -lgtstd -ldebug -lhsx -lusrrdd -lgtcrs -lgtsln -lgtxwc -lgtcgi -lgtpca -lct -ltip -lhbodbc -lgtxvt -lgtalleg -lgtwin -lgtwvt -lgtgui -lgtdos -lgtos2 -lcgi -lprofiler -lrddads -lnf # -lvm -lrtl -llang -lrdd -lmacro -lpp -ldbfntx -ldbfcdx -ldbffpt -lcommon -lhbsix -lpcrepos -lcodepage -lzlib -lgttrm -lgtstd -ldebug -lhsx -lusrrdd -lgtcrs -lgtsln -lgtxwc # -lgtcgi -lgtpca -lct -ltip -lhbodbc -lgtxvt -lgtalleg -lgtwin -lgtwvt -lgtgui -lgtdos -lgtos2 -lcgi -lprofiler -lrddads -lnf # ******************* # no lib# -lct -ltip -lhbodbc -lgtxvt -lgtalleg -lgtwin -lgtwvt -lgtgui -lgtdos -lgtos2 -lcgi -lprofiler -lrddads -lnf # -lvm -lrtl -ldebug -llang -lbmdbfcdx -ldbfcdx -ldbfntx -lhsx -lpp -lcodepage -ldbffpt -lcommon -lnulsys -lrdd -ldbfnsx -lfmstat -lhbsix -lmacro -lpcrepos -lusrrdd -lm -lzlib #$(GT_LIBS) endif #nos servir�, para compilar prgs exclusivos para GNU/Linux #por ejemplo, gPrinter.prg PRGFLAGS += -DHB_OS_LINUX CFLAGS += -W -Wall -O2 LIBDIR_ = $(LIBDIR) -L$(HB_LIB_INSTALL) LIBS_= -Wl,--start-group -L$(HB_LIB_INSTALL) $(LIBFILES_) -Wl,--end-group $(LIBS) # LIBS_= -Wl,--start-group -L$(HB_LIB_INSTALL) $(LIBFILES_) -Wl,--wrap,__ctype_b,--end-group $(LIBS) # LIBS_= -Wl,--start-group -L$(HB_LIB_INSTALL) $(LIBFILES_) -Wl,--end-group,--wrap,__ctype_b $(LIBS) ifeq ($(strip $(SOURCE_TYPE)),) SOURCE_TYPE=prg endif #Sources / object determination rule #subidr might override this file by providing a makefile.sources ifeq ($(strip $(SOURCES)),) SOURCES=$(wildcard *.$(SOURCE_TYPE)) endif ifeq ($(strip $(OBJECTS)),) OBJECTS=$(patsubst %.$(SOURCE_TYPE),$(DIR_OBJ)%.o,$(SOURCES)) ifneq ($(strip $(CSOURCES)),) OBJECTS+=$(patsubst %.c,$(DIR_OBJ)%.o,$(CSOURCES)) endif ifneq ($(strip $(CPPSOURCES)),) OBJECTS+=$(patsubst %.cpp,$(DIR_OBJ)%.o,$(CPPSOURCES)) endif endif #COMMANDS all:$(TARGET) $(TARGETS) win:$(TARGET) $(TARGETS) linux:$(TARGET) $(TARGETS) .PHONY: clean install %$(EXETYPE): $(DIR_OBJ)%.o $(CC) -o$@ $< $(LIBDIR_) $(LIBS_) $(LIBC) # $(DIR_OBJ)%.o: %.c # $(CC) -c -o$@ $(CFLAGS) -I$(HB_INC_INSTALL) $< $(DIR_OBJ)%.o: %.c $(CC) -c -o$@ $(CFLAGS) -I$(HB_INC_INSTALL) $(LIBDIR_) $(LIBS_) $< $(DIR_OBJ)%.o: %.cpp $(CC) -c -o$@ $(CFLAGS) -I$(HB_INC_INSTALL) $< %.c: %.prg dos2unix $< $(HB_BIN_INSTALL)/harbour -q0 -gc0 -n -m -p $(PRGFLAGS) -I$(HB_INC_INSTALL) -o$@ $< $(TARGET): $(OBJECTS) ifeq ( lib , $(patsubst %.a, lib, $(TARGET))) $(LINKER) -r $(TARGET) $(OBJECTS) $(LIBRARIAN) $(TARGET) else $(CC) -o $(TARGET) $(OBJECTS) $(LIBDIR_) $(LIBS_) endif clean: rm -f $(DIR_OBJ)*.o # rm -f *.ppo rm -f $(TARGET) rm -f $(TARGET).exe rm -f $(TARGETS) install: all cp -f *.a $(TGTK_INSTALL)