* Makefile.in, configure.in, configure,
[fw/sdcc] / device / lib / Makefile.in
1 #
2 #
3 #
4
5 VERSION         = @VERSION@
6 VERSIONHI       = @VERSIONHI@
7 VERSIONLO       = @VERSIONLO@
8 VERSIONP        = @VERSIONP@
9
10 SHELL           = /bin/sh
11 CPP             = @CPP@
12 INSTALL         = @INSTALL@
13 CP              = @CP@
14
15 LIB_TYPE        = @LIB_TYPE@
16
17 ifeq ($(shell uname -s),Linux)
18 CP_U    = $(CP) -u
19 else
20 CP_U    = $(CP)
21 endif
22
23 top_builddir    = @top_builddir@
24 top_srcdir      = @top_srcdir@
25 VPATH           = @srcdir@
26 srcdir          = @srcdir@
27 INCDIR          = $(top_srcdir)/device/include
28 ifndef PORTINCDIR
29 PORTINCDIR      = $(INCDIR)/mcs51
30 endif
31
32 CC              = $(top_builddir)/bin/sdcc
33 CPP             = $(top_builddir)/bin/sdcpp
34
35 prefix          = @prefix@
36 exec_prefix     = @exec_prefix@
37 bindir          = @bindir@
38 libdir          = @libdir@
39 datadir         = @datadir@
40 datarootdir     = @datarootdir@
41 includedir      = @includedir@
42 mandir          = @mandir@
43 man1dir         = $(mandir)/man1
44 man2dir         = $(mandir)/man2
45 infodir         = @infodir@
46
47 lib_dir_suffix  = @lib_dir_suffix@
48
49 sdcc_libdir     = $(DESTDIR)$(datadir)/$(lib_dir_suffix)
50
51 CPPFLAGS        = -I$(INCDIR) -I$(PORTINCDIR)
52 CFLAGS          = $(MODELFLAGS) --nostdinc --std-c99
53
54 BUILDDIR        = build
55 # Default
56 PORT            = z80
57 ifndef PORTDIR
58 PORTDIR         = $(abspath $(BUILDDIR)/$(PORT))
59 endif
60
61 OPT_DISABLE_AVR   = @OPT_DISABLE_AVR@
62 OPT_DISABLE_DS390 = @OPT_DISABLE_DS390@
63 OPT_DISABLE_DS400 = @OPT_DISABLE_DS400@
64 OPT_DISABLE_GBZ80 = @OPT_DISABLE_GBZ80@
65 OPT_DISABLE_HC08  = @OPT_DISABLE_HC08@
66 OPT_DISABLE_MCS51 = @OPT_DISABLE_MCS51@
67 OPT_DISABLE_PIC   = @OPT_DISABLE_PIC@
68 OPT_DISABLE_PIC16 = @OPT_DISABLE_PIC16@
69 OPT_DISABLE_XA51  = @OPT_DISABLE_XA51@
70 OPT_DISABLE_Z80   = @OPT_DISABLE_Z80@
71
72 COMMON_FLOAT = \
73   _atof.c \
74   _schar2fs.c \
75   _sint2fs.c \
76   _slong2fs.c \
77   _uchar2fs.c \
78   _uint2fs.c \
79   _ulong2fs.c \
80   _fs2schar.c \
81   _fs2sint.c \
82   _fs2slong.c \
83   _fs2uchar.c \
84   _fs2uint.c \
85   _fs2ulong.c \
86   _fsadd.c \
87   _fsdiv.c \
88   _fsmul.c \
89   _fssub.c \
90   _fseq.c \
91   _fsgt.c \
92   _fslt.c \
93   _fsneq.c \
94   fabsf.c \
95   frexpf.c \
96   ldexpf.c \
97   expf.c \
98   powf.c \
99   sincosf.c \
100   sinf.c \
101   cosf.c \
102   logf.c \
103   log10f.c \
104   sqrtf.c \
105   tancotf.c \
106   tanf.c \
107   cotf.c \
108   asincosf.c \
109   asinf.c \
110   acosf.c \
111   atanf.c \
112   atan2f.c \
113   sincoshf.c \
114   sinhf.c \
115   coshf.c \
116   tanhf.c \
117   floorf.c \
118   ceilf.c \
119   modff.c \
120   errno.c
121
122 COMMON_LONG = \
123   _divslong.c \
124   _modslong.c \
125   _modulong.c
126
127 COMMON_SDCC = \
128   _atoi.c \
129   _atol.c \
130   abs.c \
131   labs.c \
132   rand.c \
133   _iscntrl.c \
134   _isdigit.c \
135   _isgraph.c \
136   _isprint.c \
137   _ispunct.c \
138   _isspace.c \
139   _islower.c \
140   _isupper.c \
141   _isxdigit.c \
142   _strcat.c \
143   _strchr.c \
144   _strcmp.c \
145   _strcpy.c \
146   _strcspn.c \
147   _strncat.c \
148   _strncmp.c \
149   _strncpy.c \
150   _strpbrk.c \
151   _strrchr.c \
152   _strspn.c \
153   _strstr.c \
154   _strtok.c \
155   _memcmp.c \
156   _memcpy.c \
157   _memset.c \
158   _calloc.c \
159   _malloc.c \
160   _realloc.c \
161   _free.c \
162   printf_large.c \
163   puts.c \
164   gets.c \
165   assert.c \
166   time.c
167
168 SOURCES_FLOAT = $(COMMON_FLOAT) \
169   _fscmp.c \
170   _fsget1arg.c \
171   _fsget2args.c \
172   _fsnormalize.c \
173   _fsreturnval.c \
174   _fsrshift.c \
175   _fsswapargs.c \
176   _logexpf.c
177
178 SOURCES_INT = $(COMMON_INT) \
179   _divsint.c \
180   _divuint.c \
181   _modsint.c \
182   _moduint.c \
183   _mulint.c
184
185 SOURCES_LONG = $(COMMON_LONG) \
186   _divulong.c \
187   _mullong.c
188
189 SOURCES_SDCC = $(COMMON_SDCC) \
190   _autobaud.c \
191   _bp.c \
192   _decdptr.c \
193   _gptrget.c \
194   _gptrgetc.c \
195   _gptrput.c \
196   _ser.c \
197   _setjmp.c \
198   serial.c \
199   _itoa.c \
200   _ltoa.c \
201   _spx.c \
202   _startup.c \
203   _strlen.c \
204   _memmove.c \
205   _heap.c \
206   sprintf.c \
207   vprintf.c \
208   printf_fast.c \
209   printf_fast_f.c \
210   printf_tiny.c \
211   printfl.c \
212   bpx.c
213
214 SOURCES = $(SOURCES_FLOAT) $(SOURCES_INT) $(SOURCES_LONG) $(SOURCES_SDCC)
215
216 OBJECTS_FLOAT = $(SOURCES_FLOAT:%.c=$(PORT)/%.rel)
217 OBJECTS_INT = $(SOURCES_INT:%.c=$(PORT)/%.rel)
218 OBJECTS_LONG = $(SOURCES_LONG:%.c=$(PORT)/%.rel)
219 OBJECTS_SDCC = $(SOURCES_SDCC:%.c=$(PORT)/%.rel)
220
221 OBJECTS = $(OBJECTS_FLOAT) $(OBJECTS_INT) $(OBJECTS_LONG) $(OBJECTS_SDCC)
222
223 Z80_FLOAT = $(COMMON_FLOAT)
224
225 Z80_INT = $(COMMON_INT)
226
227 Z80_LONG = $(COMMON_LONG) \
228   _divulong.c \
229   _mullong.c
230
231 Z80_SDCC = $(COMMON_SDCC) \
232   _itoa.c \
233   _ltoa.c \
234   _startup.c \
235   sprintf.c \
236   vprintf.c
237
238 Z80SOURCES = $(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC)
239 Z80OBJECTS = $(Z80SOURCES:%.c=$(PORT)/%.o)
240
241 XA51_FLOAT = $(COMMON_FLOAT)
242
243 XA51_INT = $(COMMON_INT) \
244   _divsint.c \
245   _divuint.c \
246   _modsint.c \
247   _moduint.c \
248   _mulint.c
249
250 XA51_LONG = $(COMMON_LONG) \
251   _divulong.c \
252   _mullong.c
253
254 XA51_SDCC = $(COMMON_SDCC) \
255   _memmove.c \
256   _strlen.c \
257   _heap.c
258
259 XA51SOURCES = $(Z80_FLOAT) $(XA51_INT) $(XA51_LONG) $(XA51_SDCC)
260 XA51OBJECTS = $(XA51SOURCES:%.c=$(PORT)/%.rel)
261
262 HC08_FLOAT = $(COMMON_FLOAT)
263
264 HC08_INT = $(COMMON_INT) \
265   _divsint.c \
266   _modsint.c \
267   _moduint.c
268
269 HC08_LONG = $(COMMON_LONG)
270
271 HC08_SDCC = $(COMMON_SDCC) \
272   _itoa.c \
273   _ltoa.c \
274   _spx.c \
275   _startup.c \
276   _strlen.c \
277   _memmove.c \
278   _heap.c \
279   sprintf.c \
280   vprintf.c
281
282 HC08SOURCES = $(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC)
283 HC08OBJECTS = $(patsubst %.c,$(PORT)/%.rel,$(HC08SOURCES))
284
285 OEXT            = .rel
286
287 include $(srcdir)/incl.mk
288
289 ifeq ($(OPT_DISABLE_DS390), 0)
290 TARGETS        += model-ds390
291 endif
292
293 ifeq ($(OPT_DISABLE_DS400), 0)
294 TARGETS        += model-ds400
295 endif
296
297 ifeq ($(OPT_DISABLE_HC08), 0)
298 TARGETS        += model-hc08
299 endif
300
301 ifeq ($(OPT_DISABLE_MCS51), 0)
302 TARGETS        += models small-mcs51-stack-auto
303 endif
304
305 ifeq ($(OPT_DISABLE_PIC), 0)
306 TARGETS        += model-pic14
307 endif
308
309 ifeq ($(OPT_DISABLE_PIC16), 0)
310 TARGETS        += model-pic16
311 endif
312
313 ifeq ($(OPT_DISABLE_Z80), 0)
314 TARGETS        += model-z80
315 endif
316
317 ifeq ($(OPT_DISABLE_GBZ80), 0)
318 TARGETS        += model-gbz80
319 endif
320
321 # Compiling entire program or any subproject
322 # ------------------------------------------
323 all: checkconf $(TARGETS)
324
325 objects: build-dir $(OBJECTS) port-specific-objects lib-files clean_intermediate
326
327 models:
328         if grep '^mcs51\>' $(top_builddir)/ports.build > /dev/null; then \
329           for model in $(MODELS); do \
330             $(MAKE) MODELFLAGS="--model-$$model" PORT=$$model PORTINCDIR=$(INCDIR)/mcs51 objects; \
331           done \
332         fi
333
334 small-mcs51-stack-auto:
335         if grep '^mcs51\>' $(top_builddir)/ports.build > /dev/null; then \
336           mkdir -p small-stack-auto; cp small/Makefile small-stack-auto; \
337           $(MAKE) MODELFLAGS="--model-small --stack-auto" PORT=small-stack-auto PORTDIR=$(abspath $(BUILDDIR)/small-stack-auto) PORTINCDIR=$(INCDIR)/mcs51 objects; \
338         fi
339
340 model-mcs51-stack-auto:
341         if grep '^mcs51\>' $(top_builddir)/ports.build > /dev/null; then \
342           for model in $(MODELS); do \
343             mkdir -p $${model}-stack-auto; cp $${model}/Makefile $${model}-stack-auto; \
344             $(MAKE) MODELFLAGS="--model-$$model --stack-auto" PORT=$${model}-stack-auto PORTDIR=$(abspath $(BUILDDIR)/$${model}-stack-auto) PORTINCDIR=$(INCDIR)/mcs51 objects; \
345           done \
346         fi
347
348 model-mcs51-xstack-auto:
349         if grep '^mcs51\>' $(top_builddir)/ports.build > /dev/null; then \
350           for model in $(MODELS); do \
351             mkdir -p $${model}-xstack-auto; cp $${model}/Makefile $${model}-xstack-auto; \
352             $(MAKE) MODELFLAGS="--model-$$model --stack-auto --xstack" PORT=$${model}-xstack-auto PORTDIR=$(abspath $(BUILDDIR)/$${model}-xstack-auto) PORTINCDIR=$(INCDIR)/mcs51 objects; \
353           done \
354         fi
355
356 model-ds390:
357         if grep '^ds390\>' $(top_builddir)/ports.build > /dev/null; then \
358           $(MAKE) MODELFLAGS="-mds390" PORT=ds390 PORTINCDIR=$(INCDIR)/mcs51 objects; \
359         fi
360
361 model-ds400:
362         if grep '^ds400\>' $(top_builddir)/ports.build > /dev/null; then \
363           $(MAKE) MODELFLAGS="-mds400" PORT=ds400 PORTINCDIR=$(INCDIR)/mcs51 objects; \
364         fi
365
366 model-xa51:
367         if grep '^xa51\>' $(top_builddir)/ports.build > /dev/null; then \
368           $(MAKE) MODELFLAGS="-mxa51" PORT=xa51 objects-xa51; \
369         fi
370
371 objects-xa51: build-dir $(XA51OBJECTS) port-specific-objects
372 ifeq ($(LIB_TYPE), SDCCLIB)
373         ../../bin/sdcclib -a $(PORTDIR)/lib$(PORT).lib $(XA51OBJECTS)
374 else ifeq ($(LIB_TYPE), AR)
375         ar -Sq $(PORTDIR)/lib$(PORT).lib $(XA51OBJECTS)
376 else ifeq ($(LIB_TYPE), RANLIB)
377         ar -Sq $(PORTDIR)/lib$(PORT).lib $(XA51OBJECTS)
378         $(top_builddir)/bin/asranlib $(PORTDIR)/lib$(PORT).lib
379 else
380         rm -f $(PORTDIR)/lib$(PORT).lib
381         for i in $(notdir $(basename $(XA51OBJECTS))); do echo $$i >> $(PORTDIR)/lib$(PORT).lib; done
382         cp $(XA51OBJECTS) $(PORTDIR)
383 endif
384
385 model-z80:
386         if grep '^z80\>' $(top_builddir)/ports.build > /dev/null; then \
387           $(MAKE) MODELFLAGS="-mz80" PORT=z80 objects-z80 OEXT=.o; \
388         fi
389
390 model-gbz80:
391         if grep '^z80\>' $(top_builddir)/ports.build > /dev/null; then \
392           $(MAKE) MODELFLAGS="-mgbz80" PORT=gbz80 objects-z80 OEXT=.o; \
393         fi
394
395 objects-z80: build-dir $(Z80OBJECTS) port-specific-objects clean_intermediate
396 ifeq ($(LIB_TYPE), SDCCLIB)
397         ../../bin/sdcclib -a $(PORTDIR)/$(PORT).lib $(Z80OBJECTS)
398 else ifeq ($(LIB_TYPE), AR)
399         ar -Sq $(PORTDIR)/$(PORT).lib $(Z80OBJECTS)
400 else ifeq ($(LIB_TYPE), RANLIB)
401         ar -Sq $(PORTDIR)/$(PORT).lib $(Z80OBJECTS)
402         $(top_builddir)/bin/asranlib $(PORTDIR)/$(PORT).lib
403 else
404         rm -f $(PORTDIR)/lib$(PORT).lib
405         for i in $(notdir $(basename $(Z80OBJECTS))); do echo $$i >> $(PORTDIR)/lib$(PORT).lib; done
406         cp $(Z80OBJECTS) $(PORTDIR)
407 endif
408
409 model-hc08:
410         if grep '^hc08\>' $(top_builddir)/ports.build > /dev/null; then \
411           $(MAKE) MODELFLAGS="-mhc08" PORT=hc08 objects-hc08; \
412         fi
413
414 objects-hc08: build-dir $(HC08OBJECTS) port-specific-objects clean_intermediate
415 ifeq ($(LIB_TYPE), SDCCLIB)
416         ../../bin/sdcclib -a $(PORTDIR)/$(PORT).lib $(HC08OBJECTS)
417 else ifeq ($(LIB_TYPE), AR)
418         ar -Sq $(PORTDIR)/$(PORT).lib $(HC08OBJECTS)
419 else ifeq ($(LIB_TYPE), RANLIB)
420         ar -Sq $(PORTDIR)/$(PORT).lib $(HC08OBJECTS)
421         $(top_builddir)/bin/asranlib $(PORTDIR)/$(PORT).lib
422 else
423         rm -f $(PORTDIR)/lib$(PORT).lib
424         for i in $(notdir $(basename $(HC08OBJECTS))); do echo $$i >> $(PORTDIR)/lib$(PORT).lib; done
425         cp $(HC08OBJECTS) $(PORTDIR)
426 endif
427
428 model-pic16:
429         if grep '^pic16\>' $(top_builddir)/ports.build > /dev/null; then \
430           $(MAKE) PORT=pic16 objects-pic16; \
431         fi
432
433 objects-pic16: build-dir port-specific-objects-pic16 clean_intermediate-pic16
434
435 model-pic14:
436         if grep '^pic\>' $(top_builddir)/ports.build > /dev/null; then \
437           $(MAKE) PORT=pic objects-pic14; \
438         fi
439
440 objects-pic14: build-dir port-specific-objects-pic14 clean_intermediate-pic14
441
442 build-dir: $(PORTDIR) $(PORT)
443
444 $(PORTDIR):
445         mkdir -p $(PORTDIR)
446
447 $(PORT):
448         mkdir -p $(PORT)
449
450 port-specific-objects:
451 ifneq ($(LIB_TYPE), LIB)
452         -if [ -f $(PORT)/Makefile ]; then \
453           $(MAKE) -C $(PORT) PORT=$(PORT); \
454         fi
455 else
456         -if [ -f $(PORT)/Makefile ]; then \
457           $(MAKE) -C $(PORT) PORT=$(PORT); \
458          fi
459 endif
460
461 port-specific-objects-pic16:
462         -if [ -f $(PORT)/Makefile ]; then \
463           $(MAKE) -C $(PORT); \
464           for i in $(PORT)/*/lib*.a; do cp -f $$i $(PORTDIR)/$$(basename $$i .a).lib; done; \
465           cp -f $(PORT)/*/crt0*.o $(PORTDIR); \
466         fi
467
468 port-specific-objects-pic14:
469         -if [ -f $(PORT)/Makefile ]; then \
470           mkdir -p $(PORT)/bin; \
471           $(MAKE) -C $(PORT); \
472           cp -f $(PORT)/bin/*.* $(PORTDIR); \
473         fi
474
475 lib-files:
476 ifeq ($(LIB_TYPE), SDCCLIB)
477         ../../bin/sdcclib -a $(PORTDIR)/libfloat.lib $(OBJECTS_FLOAT)
478         ../../bin/sdcclib -a $(PORTDIR)/libint.lib $(OBJECTS_INT)
479         ../../bin/sdcclib -a $(PORTDIR)/liblong.lib $(OBJECTS_LONG)
480         ../../bin/sdcclib -a $(PORTDIR)/libsdcc.lib $(OBJECTS_SDCC)
481 else ifeq ($(LIB_TYPE), AR)
482         ar -Scq $(PORTDIR)/libfloat.lib $(OBJECTS_FLOAT)
483         ar -Scq $(PORTDIR)/libint.lib $(OBJECTS_INT)
484         ar -Scq $(PORTDIR)/liblong.lib $(OBJECTS_LONG)
485         ar -Scq $(PORTDIR)/libsdcc.lib $(OBJECTS_SDCC)
486 else ifeq ($(LIB_TYPE), RANLIB)
487         ar -Scq $(PORTDIR)/libfloat.lib $(OBJECTS_FLOAT); $(top_builddir)/bin/asranlib $(PORTDIR)/libfloat.lib
488         ar -Scq $(PORTDIR)/libint.lib $(OBJECTS_INT); $(top_builddir)/bin/asranlib $(PORTDIR)/libint.lib
489         ar -Scq $(PORTDIR)/liblong.lib $(OBJECTS_LONG); $(top_builddir)/bin/asranlib $(PORTDIR)/liblong.lib
490         ar -Scq $(PORTDIR)/libsdcc.lib $(OBJECTS_SDCC); $(top_builddir)/bin/asranlib $(PORTDIR)/libsdcc.lib
491 else
492         rm -f $(PORTDIR)/libfloat.lib
493         for i in $(notdir $(basename $(OBJECTS_FLOAT))); do echo $$i >> $(PORTDIR)/libfloat.lib; done
494         cp $(OBJECTS_FLOAT) $(PORTDIR)
495         rm -f $(PORTDIR)/libint.lib
496         for i in $(notdir $(basename $(OBJECTS_INT))); do echo $$i >> $(PORTDIR)/libint.lib; done
497         cp $(OBJECTS_INT) $(PORTDIR)
498         rm -f $(PORTDIR)/liblong.lib
499         for i in $(notdir $(basename $(OBJECTS_LONG))); do echo $$i >> $(PORTDIR)/liblong.lib; done
500         cp $(OBJECTS_LONG) $(PORTDIR)
501         rm -f $(PORTDIR)/libsdcc.lib
502         for i in $(notdir $(basename $(OBJECTS_SDCC))); do echo $$i >> $(PORTDIR)/libsdcc.lib; done
503         cp $(OBJECTS_SDCC) $(PORTDIR)
504 endif
505
506 clean_intermediate:
507         rm -f $(PORTDIR)/*.lst $(PORTDIR)/*.sym
508
509 clean_intermediate-pic16:
510         $(MAKE) -C $(PORT) clean-intermediate
511
512 clean_intermediate-pic14:
513         $(MAKE) -C $(PORT) clean-intermediate
514
515 # Compiling and installing everything and runing test
516 # ---------------------------------------------------
517 install: all installdirs
518         $(CP_U) -r $(BUILDDIR)/* $(sdcc_libdir)
519         $(CP_U) -r $(MODELS) $(srcdir)/mcs51 $(srcdir)/ds390 $(srcdir)/ds400 \
520                              $(srcdir)/gbz80 $(srcdir)/z80 $(srcdir)/hc08 \
521                              $(srcdir)/pic $(srcdir)/pic16 $(srcdir)/*.c $(sdcc_libdir)/src
522         $(CP_U) -r $(MODELS) mcs51 ds390 ds400 gbz80 z80 hc08 $(sdcc_libdir)/src
523
524         for src in $(MODELS) ds390 ds400 gbz80 z80 hc08 pic pic16; do \
525           find $(sdcc_libdir)/src/$$src -depth \
526             \( -name '*.rel' -o -name '*.dump*' -o -name '*.sym' -o -name '*.o' -o -name '*.lib' -o \
527             -name '*.lst' -o -name '*.asm' -o -name '.svn' -o -name 'autom4te.cache' -o \
528             -name 'build' -o -name 'bin' -o -name 'Makefile*' -o -name 'config*' -o \
529             -name 'depcomp' -o -name 'missing' -o -name 'install-sh' -o \
530             -name 'bootstrap.sh' \) \
531             -exec rm -rf {} + ; \
532         done
533         find $(sdcc_libdir)/src/mcs51 -depth \
534           \( -name '*.rel' -o -name '*.dump*' -o -name '*.sym' -o -name '*.o' -o -name '*.lib' -o \
535           -name '*.lst' -o -name '.svn' -o -name 'build' -o -name 'bin' -o \
536           -name 'Makefile*' \) \
537           -exec rm -rf {} +
538
539 # Deleting all the installed files
540 # --------------------------------
541 uninstall:
542         rm -rf $(sdcc_libdir)
543
544 # Performing self-test
545 # --------------------
546 check:
547
548
549 # Performing installation test
550 # ----------------------------
551 installcheck:
552
553
554 # Creating installation directories
555 # ---------------------------------
556 installdirs:
557         [ -d $(sdcc_libdir) ] || mkdir -p $(sdcc_libdir)
558         for model in $(MODELS); do \
559           [ -d $(sdcc_libdir)/$$model ] || \
560           mkdir -p $(sdcc_libdir)/$$model; \
561         done
562         for libdir in small-stack-auto ds390 ds400 hc08 pic16 pic; do \
563           [ -d $(sdcc_libdir)/$$libdir ] || mkdir -p $(sdcc_libdir)/$$libdir; \
564         done
565         mkdir -p $(sdcc_libdir)/src
566
567 # Creating dependencies
568 # ---------------------
569 dep: Makefile.dep
570
571 Makefile.dep: $(SOURCES) $(INCDIR)/*.h $(PORTINCDIR)/*.h
572         rm -f Makefile.dep
573         for i in $(filter %.c,$^); do \
574           $(CPP) -std=c99 -M $(CPPFLAGS) $$i >$${i}.dep; \
575           cat $${i}.dep >>Makefile.dep; \
576           rm $${i}.dep; \
577         done
578
579 ifeq "$(findstring $(MAKECMDGOALS),uninstall check installcheck installdirs checkconf \
580                                    clean distclean mostlyclean realclean)" ""
581   -include Makefile.dep
582 endif
583 include $(srcdir)/clean.mk
584
585 # My rules
586 # --------
587
588 .SUFFIXES: .rel .o
589
590 $(PORT)/%$(OEXT): %.c
591         $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
592
593 # Remaking configuration
594 # ----------------------
595 checkconf:
596         @if [ -f $(top_builddir)/devel ]; then\
597           $(MAKE) -f $(srcdir)/conf.mk srcdir="$(srcdir)" top_builddir="$(top_builddir)" \
598           freshconf;\
599         fi
600
601 # End of main_in.mk/main.mk