modified makefile to allow easier adjustment of build options for different targets...
[AROS-Contrib.git] / scalos / Modules / Exchange.MUI / makefile
blob9a94863339710f95aa77374e7a3eee170d6f373f
1 # MakeFile für Exchange MUI module
2 # $Date$
4 #####################################################################
6 TOPLEVEL = /
7 SUBDIRMAKE = $(MAKE) -s -C
8 CATCOMP = CatComp
9 FLEXCAT = FlexCat
10 CHEADERS =
11 CC = sc
12 CFLAGS = optimize nostackcheck nochkabort debug=s NOWVRET \
13 strmer nover streq idlen=128 IGNORE=217 \
14 idir=sc:include/ \
15 define SCALOSLOCALE=$(SCALOS_LOCALE) \
16 idir=include: idir=//include
17 AFLAGS = QUIET m=68020 linedebug opt=NRQB i=include:
18 LD = slink
19 LNFLAGS = quiet batch noicons stripdebug
20 LNDBFLAGS = quiet batch noicons addsym
21 LIBS = LIB:sc.lib \
22 //SAS-lib/snprintf.lib \
23 LIB:mempools.lib \
24 LIB:debug.lib \
25 LIB:amiga.lib
26 CSTARTUP = LIB:c.o
27 OBJDIR = .sasobj
29 SCALOS_LOCALE = $(OBJDIR)/Exchange_Locale.h
31 .SUFFIXES: .cd
33 #############################################################
35 NAME = .bin_os3/Exchange.module
36 DBGNAME = $(NAME).debug
37 CATCOMPHEADER = $(SCALOS_LOCALE)
38 DESTTOOL = Scalos:modules/
39 CAT_FILE = Scalos/Exchange.catalog
40 DESTCAT = Locale:Catalogs
41 ALLCATS = Catalogs/deutsch/$(CAT_FILE) \
42 Catalogs/français/$(CAT_FILE)
44 #############################################################
46 all: $(NAME) \
47 $(DBGNAME) \
48 allcatalogs
49 # install
50 # clean
52 #####################################################################
54 # make all Scalos .catalogs
55 allcatalogs:
56 @$(SUBDIRMAKE) Catalogs/deutsch/Scalos
57 @$(SUBDIRMAKE) Catalogs/français/Scalos
59 #####################################################################
61 CSRCS = Exchange.c \
63 #####################################################################
65 $(OBJDIR)::
66 @[ -d $(OBJDIR) ] || mkdir $(OBJDIR) > /dev/null 2>&1
68 #############################################################
70 XSRCS = $(notdir $(CSRCS))
71 OBJS = $(ASRCS:%.asm=$(OBJDIR)/%.o) $(XSRCS:%.c=$(OBJDIR)/$(notdir %).o)
73 #####################################################################
75 $(CATCOMPHEADER) : Exchange.cd
76 @printf '\033[32mMake Catcomp header: \033[31m\033[1m$@ \033[32mfrom \033[31m$<\033[0m\n'
77 @$(FLEXCAT) $< $@=$(TOPLEVEL)/CatComp_h.sd
79 #####################################################################
81 $(OBJDIR)/Exchange.o : Exchange.c Exchange.h \
82 $(SCALOS_LOCALE) \
83 cx_private.h \
84 cx_private_protos.h \
85 cx_private_pragmas.h \
86 debug.h
88 #####################################################################
90 $(NAME): $(OBJS)
91 @printf '\033[32mLink: \033[31m\033[1m$@\033[0m\n'
92 @$(LD) FROM $(CSTARTUP) $(OBJS) TO $@ LIB $(LIBS) $(LNFLAGS)
94 $(DBGNAME): $(OBJS)
95 @printf '\033[32mLink: \033[31m\033[1m$@\033[0m\n'
96 @$(LD) FROM $(CSTARTUP) $(OBJS) TO $@ LIB $(LIBS) $(LNDBFLAGS)
98 #############################################################
100 # commands generated a catalog (.catalog) from a catalog translation (.ct) file.
101 .ct.catalog:
102 $(CATCOMP) $*.cd $< CATALOG $*.catalog VB=1
104 $(OBJDIR)/%.o : %.c
105 @printf '\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
106 @$(CC) $(CFLAGS) $< objectname $@
108 $(OBJDIR)/%.o : %.s
109 @printf '\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
110 @$(AS) $(AFLAGS) $< to $@
112 $(OBJDIR)/%.o : %.asm
113 @printf '\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
114 @$(AS) $(AFLAGS) $< to $@
116 #############################################################
118 install:
119 @printf '\033[32mInstall: \033[31m\033[1m$(NAME) \033[0mto \033[1m$(DESTTOOL) \033[0m\n'
120 @copy $(NAME) $(DESTTOOL) clone
121 @printf '\033[32mFlushing memory\033[0m\n'
122 @avail flush
123 @printf '\033[32mInstall: \033[31m\033[1m$(CAT_FILE)\033[0m\n'
124 -@copy 'catalogs/deutsch/$(CAT_FILE)' '$(DESTCAT)/Deutsch/Scalos/' clone
125 -@copy 'catalogs/français/$(CAT_FILE)' '$(DESTCAT)/français/Scalos/' clone
127 #############################################################
129 clean:
130 @printf '\033[32mCleanup: \033[31m\033[1m'
131 -@delete $(OBJS) $(NAME) $(DBGNAME) $(ALLCATS) $(CATCOMPHEADER)
132 @printf '\033[0m'
134 #############################################################