🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195142

Re: Harbour #define

#195142
From: Tomasz
Date: Tue, 15 Nov 2016 23:16
237 lines
11896 bytes
Użytkownik "HG" <hgalant@wp.pl> napisał w wiadomości 
news:o0fng8$aft$1@node1.news.atman.pl...
>W dniu 2016-11-15 o 15:14, Tomasz pisze:
>> Kiedyś przed laty zrobiłem jakiś program w Clipperze
>> w którym to stosowałem przełączniki do kompilacji w zależności od wersji.
> ...
>
> Nie wiem jedynie gdzie powinienem
>> zdefiniowac wersja_2 (# define wersja_2) aby zmienna ta była widoczna we
>> wszystkich programach.
>> Czy możecie poradzić mi jak to zrobić?
>> Od lat nie zajmuję się już programowaniem a to jest wyjątek gdyż klient
>> jest akurat moim dobrym kolegą.
>>
>> -
>> Tomasz

> Jest kilka sposobów.
> Możesz zdefiniować przełącznik w osobnym pliku nagłówkowym twoja_nazwa.ch 
> i dołączyć go za pomocą dyrektywy #include do każdego prg, w którym 
> występuje. Innym sposobem jest użycie opcji kompilatora -d<id>[=wartość] 
> przy kompilacji plików źródłowych.

Dzięki za szybką odpowiedź.
Zainteresowała mnie ta druga opcja tyle tylko że nie mam zielnego pojęcia 
gdzie to wstawić.
W clipperze ta definicja ((# define wersja_2), jesli byla potrzebna byla 
wstawiana w ostatniej linii pliku STD.CH.
W Harbour, po wstawieniu do STD.CH  nie ma zadnego efektu.
Jesli znasz się na kompilacji w Harbour to pokaż mi gdzie w załączonym 
skrypcie kompilacyjnym
mogę użyć Twoją sugestię  -d<id>[=wartość]
Ten skrypt kompiluje poprawnie wersję podstawową.

----------------- skrypt kompilacyjny -----------------------
#BCC

VERSION=BCB.01
!ifndef CC_DIR
CC_DIR = $(MAKE_DIR)
!endif

!ifndef HB_DIR
HB_DIR = $(HARBOUR_DIR)
!endif

RECURSE= NO

COMPRESS = NO
EXTERNALLIB = NO
XFWH = NO
FILESTOADD =  5
WARNINGLEVEL =  0
USERDEFINE = XHARBOUR -DXHARBOUR_WINDOWS -ustd.ch
USERINCLUDE =
GUI = NO
MT = NO
SRC03 = obj
PROJECT = kfk.exe $(PR)
OBJFILES = $(SRC03)\kfmenu.obj $(SRC03)\aptools.obj $(SRC03)\aptools5.obj //
 $(SRC03)\kftools.obj $(SRC03)\kfinit.obj $(SRC03)\kfindane.obj //
 $(SRC03)\KgInit.obj $(SRC03)\kfindex.obj $(SRC03)\kfpoz.obj //
 $(SRC03)\kfserie.obj $(SRC03)\kfpozk.obj $(SRC03)\kf1f.obj //
 $(SRC03)\kf1ffunc.obj $(SRC03)\kf1p.obj $(SRC03)\kf1pfunc.obj //
 $(SRC03)\kf1baza.obj $(SRC03)\kf1h.obj $(SRC03)\kf1hs.obj //
 $(SRC03)\kf1s.obj $(SRC03)\kf1s2.obj $(SRC03)\kf1sel.obj //
 $(SRC03)\kf127.obj $(SRC03)\kf13d.obj $(SRC03)\kf134.obj //
 $(SRC03)\kf137.obj $(SRC03)\kf141.obj $(SRC03)\kf142.obj //
 $(SRC03)\kf143.obj $(SRC03)\kf144.obj $(SRC03)\kf145.obj //
 $(SRC03)\kf147.obj $(SRC03)\kf1r.obj $(SRC03)\kf2.obj //
 $(SRC03)\kf2l.obj $(SRC03)\kf2func.obj $(SRC03)\kf2LF.obj //
 $(SRC03)\kf2sel.obj $(SRC03)\kf208.obj $(SRC03)\kf224.obj //
 $(SRC03)\kf225.obj $(SRC03)\kf226.obj $(SRC03)\kf231.obj //
 $(SRC03)\kf231nd.obj $(SRC03)\kf23d.obj $(SRC03)\kf237.obj //
 $(SRC03)\kf239.obj $(SRC03)\kf251.obj $(SRC03)\kf2521.obj //
 $(SRC03)\kf2522.obj $(SRC03)\kf2523.obj $(SRC03)\kf26.obj //
 $(SRC03)\kf27.obj $(SRC03)\kf2kp.obj $(SRC03)\kfpz.obj //
 $(SRC03)\kf216.obj $(SRC03)\kfwz.obj $(SRC03)\kf2138.obj //
 $(SRC03)\kf3.obj $(SRC03)\kf3func.obj $(SRC03)\kf3pfunc.obj //
 $(SRC03)\kf3p.obj $(SRC03)\kf3pp.obj $(SRC03)\kf3p_p.obj //
 $(SRC03)\kf3d.obj $(SRC03)\kf3v.obj $(SRC03)\kf3vpz.obj //
 $(SRC03)\kf3vpp.obj $(SRC03)\kf3vpzF.obj $(SRC03)\kf3kp.obj //
 $(SRC03)\kf3kd.obj $(SRC03)\kf316.obj $(SRC03)\kf318.obj //
 $(SRC03)\kf319.obj $(SRC03)\kf331.obj $(SRC03)\kf332.obj //
 $(SRC03)\kf35.obj $(SRC03)\kf32.obj $(SRC03)\kf32func.obj //
 $(SRC03)\kf32d.obj $(SRC03)\kf32v.obj $(SRC03)\kf32jd.obj //
 $(SRC03)\kf321.obj $(SRC03)\kf324.obj $(SRC03)\kf325.obj //
 $(SRC03)\kf3241.obj $(SRC03)\kf3242.obj $(SRC03)\kf41.obj //
 $(SRC03)\kf41func.obj $(SRC03)\kf41ss.obj $(SRC03)\kf41ss4.obj //
 $(SRC03)\kf41sw.obj $(SRC03)\kf41v.obj $(SRC03)\kf41rw.obj //
 $(SRC03)\kf41prw.obj $(SRC03)\kf41vwz.obj $(SRC03)\kf41vrw.obj //
 $(SRC03)\kf41vwzF.obj $(SRC03)\kf41vser.obj $(SRC03)\kf41kalk.obj //
 $(SRC03)\kf41poz.obj $(SRC03)\kf4131.obj $(SRC03)\kf4132.obj //
 $(SRC03)\kf4133.obj $(SRC03)\kf416.obj $(SRC03)\kf416s.obj //
 $(SRC03)\kf418.obj $(SRC03)\kf419.obj $(SRC03)\kf41xx.obj //
 $(SRC03)\kf4138.obj $(SRC03)\kf417.obj $(SRC03)\kf473.obj //
 $(SRC03)\kf41d.obj $(SRC03)\kf41dz.obj $(SRC03)\kf41df.obj //
 $(SRC03)\kf41dwz.obj $(SRC03)\kf41dzl.obj $(SRC03)\kf41ds.obj //
 $(SRC03)\kf41dp.obj $(SRC03)\kf41dWal.obj $(SRC03)\kf41kd.obj //
 $(SRC03)\kf44.obj $(SRC03)\kf44func.obj $(SRC03)\kf44xx.obj //
 $(SRC03)\kf44lo.obj $(SRC03)\kf44d.obj $(SRC03)\kf34.obj //
 $(SRC03)\kf34func.obj $(SRC03)\kf34d.obj $(SRC03)\kf51.obj //
 $(SRC03)\kf513.obj $(SRC03)\kf514.obj $(SRC03)\kf5a4.obj //
 $(SRC03)\kf523.obj $(SRC03)\kf5a.obj $(SRC03)\kf5a2.obj //
 $(SRC03)\kf52.obj $(SRC03)\kf531.obj $(SRC03)\kf532.obj //
 $(SRC03)\kf533.obj $(SRC03)\kf534.obj $(SRC03)\kf566.obj //
 $(SRC03)\kf585.obj $(SRC03)\kf587.obj $(SRC03)\kf588.obj //
 $(SRC03)\kf533d.obj $(SRC03)\kf567.obj $(SRC03)\kf5nad.obj //
 $(SRC03)\kfprzel.obj $(SRC03)\kfp1.obj $(SRC03)\kfp11.obj //
 $(SRC03)\kfp12.obj $(SRC03)\kfp15.obj $(SRC03)\kfp12d.obj //
 $(SRC03)\kfp1func.obj $(SRC03)\kfp1p.obj $(SRC03)\kf611.obj //
 $(SRC03)\kf611w.obj $(SRC03)\kf611df.obj $(SRC03)\kf611fak.obj //
 $(SRC03)\kf615fun.obj $(SRC03)\kf615.obj $(SRC03)\kf615d.obj //
 $(SRC03)\kf616.obj $(SRC03)\kf63.obj $(SRC03)\kf636.obj //
 $(SRC03)\kf628.obj $(SRC03)\kf629.obj $(SRC03)\kf67.obj //
 $(SRC03)\kfekd.obj $(SRC03)\kf65.obj $(SRC03)\kf7.obj //
 $(SRC03)\kf7hs.obj $(SRC03)\kf7func.obj $(SRC03)\kf7mrk.obj //
 $(SRC03)\kf7czn.obj $(SRC03)\kf923.obj $(SRC03)\kf916.obj //
 $(SRC03)\kf924.obj $(SRC03)\kf93.obj $(SRC03)\kf936.obj //
 $(SRC03)\kf937.obj $(SRC03)\kf941.obj $(SRC03)\kf942.obj //
 $(SRC03)\kf954.obj $(SRC03)\kf955.obj $(SRC03)\kf956.obj //
 $(SRC03)\kf96.obj $(SRC03)\kf974.obj $(SRC03)\kf975.obj //
 $(SRC03)\kf981.obj $(SRC03)\kf982.obj $(SRC03)\kf983.obj //
 $(SRC03)\kf984.obj $(SRC03)\kf985.obj $(SRC03)\kf986.obj //
 $(SRC03)\kf9s.obj $(SRC03)\ms11.obj $(SRC03)\ms1dr1.obj //
 $(SRC03)\ms12.obj $(SRC03)\ms2.obj $(SRC03)\ms2dr1.obj //
 $(SRC03)\mstools.obj $(SRC03)\ms3.obj $(SRC03)\ms3func.obj //
 $(SRC03)\ms41.obj $(SRC03)\ms41zn.obj $(SRC03)\ms925.obj //
 $(SRC03)\kfkb.obj $(SRC03)\kfkpkw.obj $(SRC03)\kfkbz.obj //
 $(SRC03)\kfkbfunc.obj $(SRC03)\drutools.obj $(SRC03)\drufak.obj //
 $(SRC03)\look.obj $(SRC03)\df301.obj $(SRC03)\kgdok.obj //
 $(SRC03)\kgPlans.obj $(SRC03)\kgPlana.obj $(SRC03)\kgDekr.obj 
$(SRC03)\kgDzien.obj //
 $(SRC03)\kgDzienr.obj $(SRC03)\kgDokz.obj $(SRC03)\kgListD.obj //
 $(SRC03)\kgDrukDz.obj $(SRC03)\kgDrukDR.obj $(SRC03)\kgKso.obj //
 $(SRC03)\kgKsoR.obj $(SRC03)\kgBo.obj $(SRC03)\kgTools.obj 
$(SRC03)\kgksom.obj $(SRC03)\kgdrukom.obj  $(SRC03)\kgdrukor.obj $(OB)
PRGFILES = kfmenu.prg aptools.prg aptools5.prg kftools.prg kfinit.prg //
 kfindane.prg KgInit.prg kfindex.prg kfpoz.prg kfserie.prg //
 kfpozk.prg kf1f.prg kf1ffunc.prg kf1p.prg kf1pfunc.prg //
 kf1baza.prg kf1h.prg kf1hs.prg kf1s.prg kf1s2.prg //
 kf1sel.prg kf127.prg kf13d.prg kf134.prg kf137.prg //
 kf141.prg kf142.prg kf143.prg kf144.prg kf145.prg //
 kf147.prg kf1r.prg kf2.prg kf2l.prg kf2func.prg //
 kf2LF.prg kf2sel.prg kf208.prg kf224.prg kf225.prg //
 kf226.prg kf231.prg kf231nd.prg kf23d.prg kf237.prg //
 kf239.prg kf251.prg kf2521.prg kf2522.prg kf2523.prg //
 kf26.prg kf27.prg kf2kp.prg kfpz.prg kf216.prg //
 kfwz.prg kf2138.prg kf3.prg kf3func.prg kf3pfunc.prg //
 kf3p.prg kf3pp.prg kf3p_p.prg kf3d.prg kf3v.prg //
 kf3vpz.prg kf3vpp.prg kf3vpzF.prg kf3kp.prg kf3kd.prg //
 kf316.prg kf318.prg kf319.prg kf331.prg kf332.prg //
 kf35.prg kf32.prg kf32func.prg kf32d.prg kf32v.prg //
 kf32jd.prg kf321.prg kf324.prg kf325.prg kf3241.prg //
 kf3242.prg kf41.prg kf41func.prg kf41ss.prg kf41ss4.prg //
 kf41sw.prg kf41v.prg kf41rw.prg kf41prw.prg kf41vwz.prg //
 kf41vrw.prg kf41vwzF.prg kf41vser.prg kf41kalk.prg kf41poz.prg //
 kf4131.prg kf4132.prg kf4133.prg kf416.prg kf416s.prg //
 kf418.prg kf419.prg kf41xx.prg kf4138.prg kf417.prg //
 kf473.prg kf41d.prg kf41dz.prg kf41df.prg kf41dwz.prg //
 kf41dzl.prg kf41ds.prg kf41dp.prg kf41dWal.prg kf41kd.prg //
 kf44.prg kf44func.prg kf44xx.prg kf44lo.prg kf44d.prg //
 kf34.prg kf34func.prg kf34d.prg kf51.prg kf513.prg //
 kf514.prg kf5a4.prg kf523.prg kf5a.prg kf5a2.prg //
 kf52.prg kf531.prg kf532.prg kf533.prg kf534.prg //
 kf566.prg kf585.prg kf587.prg kf588.prg kf533d.prg //
 kf567.prg kf5nad.prg kfprzel.prg kfp1.prg kfp11.prg //
 kfp12.prg kfp15.prg kfp12d.prg kfp1func.prg kfp1p.prg //
 kf611.prg kf611w.prg kf611df.prg kf611fak.prg kf615fun.prg //
 kf615.prg kf615d.prg kf616.prg kf63.prg kf636.prg //
 kf628.prg kf629.prg kf67.prg kfekd.prg kf65.prg //
 kf7.prg kf7hs.prg kf7func.prg kf7mrk.prg kf7czn.prg //
 kf923.prg kf916.prg kf924.prg kf93.prg kf936.prg //
 kf937.prg kf941.prg kf942.prg kf954.prg kf955.prg //
 kf956.prg kf96.prg kf974.prg kf975.prg kf981.prg //
 kf982.prg kf983.prg kf984.prg kf985.prg kf986.prg //
 kf9s.prg ms11.prg ms1dr1.prg ms12.prg ms2.prg //
 ms2dr1.prg mstools.prg ms3.prg ms3func.prg ms41.prg //
 ms41zn.prg ms925.prg kfkb.prg kfkpkw.prg kfkbz.prg //
 kfkbfunc.prg drutools.prg drufak.prg look.prg df301.prg //
 kgdok.prg kgPlans.prg kgPlana.prg kgDekr.prg kgDzien.prg kgDzienr.prg //
 kgDokz.prg kgListD.prg kgDrukDz.prg kgDrukDR.prg kgKso.prg //
 kgKsoR.prg kgBo.prg kgTools.prg kgksom.prg kgdrukom.prg  kgdrukor.prg $(PS)

OBJCFILES = $(OBC)
CFILES = $(CF)
RESFILES =
RESDEPEN =
TOPMODULE = KFMENU.PRG
LIBFILES = lang.lib vm.lib rtl.lib rdd.lib macro.lib pp.lib dbfntx.lib 
dbfcdx.lib dbffpt.lib common.lib gtwin.lib codepage.lib ct.lib tip.lib 
pcrepos.lib hsx.lib hbsix.lib debug.lib
EXTLIBFILES =
DEFFILE =


CFLAG1 =  -OS $(CFLAGS) -d -c -L$(HB_DIR)\lib
CFLAG2 =  -I$(HB_DIR)\include;$(CC_DIR)\include
RFLAGS =
LFLAGS 
= -L$(CC_DIR)\lib\obj;$(CC_DIR)\lib;$(HB_DIR)\lib -Gn -M -m -s -Tpe -x -ap
IFLAGS =
LINKER = ilink32

ALLOBJ = c0x32.obj $(OBJFILES) $(OBJCFILES)
ALLRES = $(RESDEPEN)
ALLLIB = $(LIBFILES) import32.lib cw32.lib
.autodepend

#DEPENDS

#COMMANDS
.cpp.obj:
$(CC_DIR)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $**

.c.obj:
$(CC_DIR)\BIN\bcc32 -I$(HB_DIR)\include $(CFLAG1) $(CFLAG2) -o$* $**

.prg.obj:
$(HB_DIR)\bin\harbour -b -D__EXPORT__ -go -I$(HB_DIR)\include 
$(HARBOURFLAGS) -o$* $**

.rc.res:
$(CC_DIR)\BIN\brcc32 $(RFLAGS) $<

#BUILD

$(PROJECT): $(CFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
    $(CC_DIR)\BIN\$(LINKER) @&&!
    $(LFLAGS) +
    $(ALLOBJ), +
    $(PROJECT),, +
    $(ALLLIB), +
    $(DEFFILE), +
    $(ALLRES)
!
Technical Details
Message-ID: <582b9736$0$646$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!news.mixmin.net!enother.net!enother.net!enother.net!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <582b183e$0$646$65785112@news.neostrada.pl> <o0fng8$aft$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!news.mixmin.net!enother.net!enother.net!enother.net!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "Tomasz" <tutomasz44@gmail.com>
Newsgroups: pl.comp.bazy-danych
References: <582b183e$0$646$65785112@news.neostrada.pl> <o0fng8$aft$1@node1.news.atman.pl>
In-Reply-To: <o0fng8$aft$1@node1.news.atman.pl>
Subject: Re: Harbour #define
Date: Wed, 16 Nov 2016 00:16:06 +0100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Windows Mail 6.0.6001.18416
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.23573
X-EsetScannerBuild: 31420
Lines: 238
Message-ID: <582b9736$0$646$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 79.186.34.254
X-Trace: 1479251766 unt-rea-b-01.news.neostrada.pl 646 79.186.34.254:16789
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 11598
X-Received-Body-CRC: 2976505387
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit