modified makefile to allow easier adjustment of build options for different targets...
[AROS-Contrib.git] / scalos / Modules / Empty_Trashcan.MUI / makefile
blob88b3b23418ef12f366411cf3bcc9a211934b9b4e
1 # Makefile for Empty_Trashcan.module (MUI)
2 # using GNU make and SAS/C
3 # $Date$
4 # $Revision$
6 #####################################################################
8 TOPLEVEL = /
9 SUBDIRMAKE = $(MAKE) -s -C
10 CHEADERS =
11 CC = sc
12 CFLAGS = optimize nostackcheck nochkabort debug=s \
13 idlen=128 strmer nover streq data=far \
14 define SCALOSLOCALE=$(SCALOS_LOCALE) \
15 ignore=217 idir=sc:include/ \
16 idir=include: idir=//include
17 AS = phxass
18 AFLAGS = QUIET m=68020 linedebug opt=NRQB i=include:
19 LD = slink
20 LNFLAGS = quiet batch noicons stripdebug
21 LNDBFLAGS = quiet batch noicons addsym
22 LIBS = LIB:sc.lib LIB:debug.lib LIB:amiga.lib
23 CATCOMP = catcomp
24 FLEXCAT = FlexCat
25 CSTARTUP = LIB:c.o
26 OBJDIR = .sasobj
28 SCALOS_LOCALE = $(OBJDIR)/Empty_Trashcan_Locale.h
30 #####################################################################
32 .SUFFIXES: .asm
34 #####################################################################
36 NAME = .bin_os3/Empty_Trashcan.module
37 DBGNAME = $(NAME).debug
38 CATCOMPH = $(SCALOS_LOCALE)
39 CAT_FILE = Scalos/Empty_Trashcan.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 = Empty_Trashcan.c
63 #####################################################################
65 $(OBJDIR)::
66 @[ -d $(OBJDIR) ] || mkdir $(OBJDIR) > /dev/null 2>&1
68 #####################################################################
70 XOBJS = $(ASRCS:%.asm=$(OBJDIR)/%.o) $(CSRCS:%.c=$(OBJDIR)/%.o)
71 OBJS = $(XOBJS)
73 #####################################################################
75 $(NAME): $(OBJS)
76 @printf '\033[32mLink: \033[31m\033[1m$@\033[0m\n'
77 @$(LD) FROM $(CSTARTUP) $(OBJS) TO $@ LIB $(LIBS) $(LNFLAGS)
79 $(DBGNAME): $(OBJS)
80 @printf '\033[32mLink: \033[31m\033[1m$@\033[0m\n'
81 @$(LD) FROM $(CSTARTUP) $(OBJS) TO $@ LIB $(LIBS) $(LNDBFLAGS)
83 #####################################################################
85 $(OBJDIR)/%.o : %.c
86 @printf '\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
87 @$(CC) $(CFLAGS) $< objectname $@
89 $(OBJDIR)/%.o : %.asm
90 @printf '\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
91 @$(AS) $(AFLAGS) $< to $@
93 #####################################################################
95 $(CATCOMPH) : Empty_Trashcan.cd
96 @printf '\033[32mMake CatComp header: \033[31m\033[1m$(CATCOMPH) \033[32mfrom \033[31m$<\033[0m\n'
97 @$(FLEXCAT) $< $@=$(TOPLEVEL)/CatComp_h.sd
99 $(OBJDIR)/Empty_Trashcan.o : Empty_Trashcan.c Empty_Trashcan.h $(CATCOMPH)
101 #####################################################################
103 $(NAME) $(DBGNAME) : $(OBJS)
105 #####################################################################
107 install:
108 @printf '\033[32mInstall: \033[31m\033[1m$(NAME) \033[0mto \033[31m\033[1mScalos:modules/ \033[0m\n'
109 @copy $(NAME) Scalos:modules/
110 @avail flush
111 @printf '\033[32mInstall: \033[31m\033[1m$(CAT_FILE)\033[0m\n'
112 -@copy "catalogs/deutsch/$(CAT_FILE)" "$(DESTCAT)/Deutsch/Scalos/" clone
113 -@copy "catalogs/français/$(CAT_FILE)" "$(DESTCAT)/français/Scalos/" clone
115 #####################################################################
117 # A little something to clean it all up
118 clean:
119 @printf '\033[32mCleanup: \033[31m\033[1m'
120 @delete $(XOBJS) $(NAME) $(DBGNAME) \
121 $(CATCOMPH)
122 @printf '\033[0m'
124 #####################################################################