← Back to team overview

sslug-teknik team mailing list archive

Re: Makefil driller

 

On Thu, 16 Nov 2006 12:04:57 +0100, Michael Schmidt <michael.zmit@xxxxxxxxx> wrote:

On Thu, 16 Nov 2006 11:49:27 +0100, Kenneth Ahn Jensen <jakabov@xxxxxxx> wrote:

I min (første) makefil bruger jeg et tidsstempel til navngivning af builds, og det har jeg ordnet på følgende måde:

DATE = $(shell date +%Y%m%d_%H%M)
BUILD_NAME = $(PROJECT)-$(DATE)-$(USER)
BUILD_DIR = /path/to/dir

I forskellige make targets refererer jeg så til $(BUILD_DIR)/$(BUILD_NAME)/bytecode m.fl.

F.eks. har jeg et build target som
  - oversætter koden,
  - "wrapper" bytekoden (flytter den inkl. afhængigheder),
  - kopierer andre ting med over (billeder, html doks m.m.) og
  - tar-gz'er hele skidtet ind i en praktisk flytbar fil.

Indimellem når minuttallet i $(DATE) at skifte mellem wrapperen har kørt og flytningen af html, gif'er m.m. er sket, og så får jeg to forskellige tidsstemplede kataloger i mit build dir.

[kaj@host build]$ ls -l
total 16
drwxr-xr-x 3 kaj kaj 4096 Nov 16 11:29 project-20061116_1129-kaj
drwxrwxr-x 3 kaj kaj 4096 Nov 16 11:30 project-20061116_1130-kaj
[kaj@host build]$

Hvordan får jeg make til at lave $(DATE) om til en værdi første gang den kaldes, og ikke en funktion (som afvikles hver gang den bruges)?

hvad med at bruge en shell variabel og så referere til den?
Hvilket jo rent faktisk er det du gør... Pudser lige læsefeltet på min skærm :)




--
Med venlig hilsen
/Zmit/
RLU # 314205


References