# -*-makefile-*- # # Makefile for å kopiera ut oppdaterte og nye filer til webapp-katalogen, # ev. òg lokal Forreststruktur, slik at eg enkelt kan laga ei war-fil. # # Basert på artikkelen "Managing web sites using Unix: # http://www.daemonnews.org/199907/managing.html og # http://www.daemonnews.org/200004/managing.html # # Make-fila er kløyvd i to delar: ein allmenn del som inneheld den eigentlege # prosesseringa (og som inneheld den rekursive delen) og alle globale # konstantar, og ein katalog-spesifikk del som inneheld dei parametra som # varierer med kvar katalog. Sjå webapp.mk (allmenn del, inkludert her) for detaljar. # # Bruk: i toppkatalogen (katalogen som inneheld webapp.mk), skriv: # make -I `pwd` - kopierer alt til lokal Tomcat # make -I `pwd` war - lagar ei war-fil # (-I `pwd` trengst for å kunna inkludera den felles fila i # alle underkatalogar) # ###################################################################### # webapp.mk # Versjon: 0.1 # Endringar: Fyrste versjon som kopierer alle xml- og grafikkfiler # Forfattar: SNM # Dato: 08-03-2004 # Samandrag: Felles komponent for alle make-filer herifrå og ned ###################################################################### # Program som vert brukte: CP = /bin/cp CHMOD = /bin/chmod MKDIR = /bin/mkdir # Katalogkonstantar: WEBAPP = /Library/Tomcat/webapps/samsan IMGTRG = resources/images IMGSRC = images CONTNT = content/xdocs FORRTRG = /Volumes/Data/Users/sjur/Documents/samsandok FORRST = src/documentation # Set TARGET til det eine eller andre, avhengig av formål: # Installer i lokal Tomcat-webapp: TARGET = $(WEBAPP) # Installer i testkatalog (for å sjekka make-fila): #TARGET = /Volumes/Data/Users/sjur/Documents/samsandok/cvs/samordb/sam-odb/site-app/mytest # This is the initial installation directory for xml files, # redefined in appropriate places for other files: DESTDIR = $(TARGET)/$(CONTNT) # Genererer ei liste over målfiler ved å leggja til målkatalog til # ei liste med kjeldefiler: TRGFILES = $(addprefix $(addsuffix /, $(DESTDIR)), $(SRCFILES)) install: $(TRGFILES) ifdef SUBDIR ifneq ($(strip $(SUBDIR)),) @for subdir in $(SUBDIR); do \ (cd $$subdir; $(MAKE) DESTDIR=$(DESTDIR)/$$subdir install); \ done endif endif # Copies all files in the current directory to the target directory, filtered # against the list of source files $(SRCFILES); it matches any target, and thus # works on only a single file at a time, and will only copy updated files: $(DESTDIR)/%: % [ -d $(DESTDIR) ] || $(MKDIR) -p $(DESTDIR) for file in $(SRCFILES); do \ if [ $(